Czy różni się aktualizacja kolumny geograficznej w serwerze sql od zwykłego pola (varchar ....). Czy możesz podać przykładowe oświadczenie, aby to zrobić. dzięki.Instrukcja aktualizacji - kolumna Geografia - serwer sql
Odpowiedz
Nie jestem pewien, czy jest to odpowiedź, której szukasz - ale jak powiedziałem, główna różnica polega na tym, że podczas aktualizacji "zwykłego pola" zwykle podajesz bezpośrednio nową wartość - na przykład:
UPDATE mytable SET name = 'John' WHERE id = 1
Podczas aktualizowania kolumny geografii, to prawdopodobnie nie może zapewnić wartość bezpośrednio (ponieważ jest to bardzo długi numer szesnastkowy, który koduje informacje geoghraphy), ale będziemy chcieli, aby obliczyć go z niektórych innych wartości (które mogą, ale nie muszą to być kolumny tego samego stołu), np .:
UPDATE mytable SET gps=geography::STPointFromText('POINT(' + lng + ' ' + lat + ')', 4326)
gdzie lng
i lat
są wartościami varchar określającymi współrzędne GPS w formacie "czytelnym dla człowieka" (jak lat = '48.955790'
, lng = '20.524500'
) - w tym przypadku są one również kolumnami mytable
.
Jeśli masz Latitude i Długość jako dziesiętne, można zaktualizować kolumny geografii, jak pokazano poniżej:
DECLARE @latitude DECIMAL(15,6)
,@longitude DECIMAL(15,6);
SET @latitude = 29.938580;
SET @longitude = -81.337384;
UPDATE Properties
SET Geog = GEOGRAPHY::Point(@latitude, @longitude, 4326)
WHERE PropertyID = 858;
- 1. Serwer SQL: kolumna aktualizacji w drzewie
- 2. SQL Server: rekurencyjne instrukcja aktualizacji
- 3. Aktualizacja instrukcja aktualizacji wielu wierszy
- 4. Kolumna aktualizacji MySQL +1?
- 5. SQL procedury przechowywanej: Jeśli zmienna nie jest null, instrukcja aktualizacji
- 6. SELECT COUNT (*) Serwer SQL
- 7. podzapytania w UPDATE SET (serwer sql 2005)
- 8. Serwer SQL - metadane tabeli
- 9. SQL Server: Geografia wydajność wyszukiwania - zapytania Najbliższe sklepy
- 10. Geografia i geometria SQL 2008 - z której skorzystać?
- 11. SQL Server 2008 Geografia .STBuffer() jednostki pomiaru odległości
- 12. SUM Kolumna SQL Server
- 13. SQL WHERE kolumna = wszystko
- 14. Instrukcja SQL select, która pokazuje nieistniejącą kolumnę?
- 15. Serwer SQL: IF EXISTS; ELSE
- 16. Fałszywy długo działa instrukcja SQL
- 17. SQL: Sprawdź, czy kolumna ma właściwość "Niezerowa"
- 18. Serwer SQL: jakikolwiek odpowiednik strpos()?
- 19. SPARQL: Odpowiednik aktualizacji SQL?
- 20. serwer sql przechowywać wynik wyboru w zmiennej?
- 21. Serwer MS SQL odlewanie bez wyjątku
- 22. T-SQL: co zmieniono COLUMNS po aktualizacji?
- 23. Serwer SQL: odpowiednik RowVersion w Oracle
- 24. Serwer SQL: IsCharAlpha
- 25. Serwer Sql TOP - używany?
- 26. Serwer SQL do PostgreSta
- 27. Serwer SQL ARITHABORT
- 28. Operatory blokujące serwer sql
- 29. Serwer Sql - rekursywne usuwanie
- 30. Serwer SQL: łączenie wartości z dwóch kolumn numerycznych
Dzięki za to, że nie miał pojęcia, w jaki sposób pracował geografia te typy danych. Wygląda na to, że Kreator importu/eksportu w Sql Server 2008 R2 również tego nie rozumie - nie pozwoliłby mi zaimportować tabeli zawierającej tę kolumnę do innej bazy danych. –
Powróciłem do tej odpowiedzi kilka lat później, a drugi odgadł kolejność parametrów LONG i LAT do wywołania POINT(). Jest to poprawna kolejność i jest interesująca, że MS używa LONG/lat, w przeciwieństwie do sposobu, w jaki większość z nas mówi, co jest w zakresie lat/długo. Więcej informacji tutaj http://stackoverflow.com/q/27297113/194872 –