Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

sqlserver 2008 में भूगोल डेटाटाइप का उपयोग कर दो बिंदुओं के बीच की दूरी?

यदि आपका अक्षांश और देशांतर डिग्री के रूप में है (बिल्कुल आपकी तालिका की तरह ), तो आप निम्न फ़ंक्शन का उपयोग कर सकते हैं:

CREATE FUNCTION dbo.DictanceKM(@lat1 FLOAT, @lat2 FLOAT, @lon1 FLOAT, @lon2 FLOAT)
RETURNS FLOAT 
AS
BEGIN

    RETURN ACOS(SIN(PI()*@lat1/180.0)*SIN(PI()*@lat2/180.0)+COS(PI()*@lat1/180.0)*COS(PI()*@lat2/180.0)*COS(PI()*@lon2/180.0-PI()*@lon1/180.0))*6371
END

या यदि आप भूगोल के प्रकार पर जोर देते हैं, तो उपयोग है:

DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SET @h = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);
SELECT @g.STDistance(@h);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. टी-एसक्यूएल में एक पंक्ति के पिछले मान का उपयोग करके मूल्य की गणना करना

  2. SQL सर्वर (T-SQL) में गलत पासवर्ड के कारण लॉगिन के लिए असफल लॉगिन प्रयासों की संख्या प्राप्त करें

  3. यदि SELECT DISTINCT निर्दिष्ट है, तो ORDER BY आइटम को चयन सूची में दिखाई देना चाहिए

  4. कैसे जांचें कि एक vb .net प्रोजेक्ट में SQL सर्वर में डेटाबेस और टेबल मौजूद हैं या नहीं?

  5. सूची को अल्पविराम से अलग किए गए स्ट्रिंग में सारांशित करें