sql >> Databasteknik >  >> RDS >> Sqlserver

Geografidatatyp kontra geometridatatyp i SQL Server

Geografitypen är lite mer restriktiv än geometri. Den kan inte korsa olika halvklot och den yttre ringen måste dras moturs.

Tyvärr (vissa tycker att detta är bra) ger SQL Server 2012 inte längre ett felmeddelande när du skapar den ogiltiga geografin. Du måste invertera ordningen på punkterna i Roben Island-geometrin, som:

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. DateTimeOffset.Now i T-SQL

  2. Hur man infogar flera bilder i MySQL-databastabellen med främmande nyckel som refererar till en enda primärnyckel

  3. välj alternativvärde från databasen på valt

  4. Brott mot UNIQUE KEY-begränsning på INSERT WHERE COUNT(*) =0 på SQL Server 2005