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

सभी बिंदु प्राप्त करें (त्रिज्या वाले वृत्त), जो दिए गए बिंदु को ओवरलैप करते हैं

हाँ, यह बिल्कुल वैसी ही चीज़ है जैसे geography और स्थानिक तरीके अच्छे हैं। यहां एक छोटा सा उदाहरण दिया गया है:

DECLARE @Restaurant TABLE (
    Name nvarchar(50),
    Location geography,
    DeliveryRadiusMetres int
);

INSERT @Restaurant
VALUES
-- long lat
('Dominos','POINT(-0.109339 51.532835)',2000 ),
('Pizza Hut','POINT(-0.102961 51.541157)',2000 );

ध्यान दें कि यहां geography बनाने के लिए मान मैं स्ट्रिंग से एक अंतर्निहित रूपांतरण का उपयोग कर रहा हूं, जो पर्दे के पीछे geography::Parse . कहता है ।

DECLARE @MyLocation geography = 'POINT(-0.115063 51.550231)';

SELECT
    Name
FROM
    @Restaurant R
WHERE
    R.Location.STDistance(@MyLocation) <= R.DeliveryRadiusMetres
;


  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 सर्वर:क्रॉस जॉइन और फुल आउटर जॉइन में क्या अंतर है?

  2. SQL सर्वर जॉइन लापता NULL मान

  3. SQL सर्वर अनुक्रमणिका का पुनर्निर्माण और पुनर्गठन करता है

  4. Row_number . का उपयोग करके किसी क्वेरी से @@ rowcount प्राप्त करने का कुशल तरीका

  5. Linux से SQL सर्वर Azure / 2022 डेटाबेस लेज़र टेबल्स।