Comment tester si une valeur de colonne SQL Server Geography est POINT (0 0)?

Le code suivant fonctionne, mais il ralentit terriblement:

select top 100 FooId from dbo.Foos where latitudelongitude.ToSsortingng() = 'POINT(0,0)' order by FooId desc 

Existe-t-il un meilleur moyen de déterminer si une valeur GEOGRAPHY a le Lat / Long de 0,0 ?

Flip yo test, yo. 😉

 declare @g geography = geography::STPointFromText('POINT(0 0)', 4326); select * from dbo.Foos where latitudelongitude.STEquals(@g) = 1 

En d'autres termes, la requête que vous avez écrite à l'origine n'était pas SARGable. Celui que j'ai écrit est.

Vous pouvez utiliser le .Lat et .Long pour y parvenir. Quelque chose comme ça

 SELECT TOP 100 FooId FROM dbo.Foos WHERE latitudelongitude.Lat = 0 AND latitudelongitude.Long = 0 ORDER BY FooId desc