Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Typ danych Geography a typ danych Geometry w SQL Server

Typ geografii jest nieco bardziej restrykcyjny niż geometria. Nie może przecinać różnych półkul, a pierścień zewnętrzny musi być narysowany w kierunku przeciwnym do ruchu wskazówek zegara.

Niestety (niektórzy uważają to za dobrą rzecz), SQL Server 2012 nie zgłasza już błędu podczas tworzenia nieprawidłowej lokalizacji. Musisz odwrócić kolejność punktów w geometrii Roben Island, na przykład:

DECLARE @robben_island geography = ('POLYGON((18.351803 -33.788421, 18.354464 -33.822369,18.386736 -33.820515, 18.382788 -33.787494, 18.351803 -33.788421))')
DECLARE @point_in_robben_island geography= ('POINT(18.369226 -33.80554)')
DECLARE @point_in_alcatraz geography= ('POINT(-122.423401 37.827006)')

SELECT @robben_island.STContains(@point_in_robben_island)   --returns 'True'
SELECT @robben_island.STContains(@point_in_alcatraz)        --returns 'False'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server:ile dni każdy element był w każdym stanie

  2. Pojawia się dziwny błąd, zapytanie SQL Server przy użyciu klauzuli `WITH`

  3. Jak obliczyć wiek (w latach) na podstawie daty urodzenia i getDate()

  4. Problemy z instrukcją SQL Server MERGE

  5. Jak symulować DEADLOCK na SQL Server?