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