मैं इस कोड के साथ अजीब समस्या है: अगर मैं इसे चलाने से पता चला की तरह नीचे मैं त्रुटि मिलती है:एक अमान्य फ़्लोटिंग पॉइंट ऑपरेशन हुआ। एसक्यूएल सर्वर 2008
An invalid floating point operation occurred.
लेकिन अगर मैं -९८.५०८७३० पैरामीटर @Longitude
बदल (नोटिस केवल पिछले अंक बदल) कोड ठीक काम करता है।
कोड कुछ LatLng बिंदु के आसपास @MilesRadius
में गुणों को सूचीबद्ध करने के लिए माना जाता है।
@ अक्षांश और @ लांगिट्यू पैरामीटर टेबल एड्रेस में रेखांश और अक्षांश फ़ील्ड के समान प्रकार के होते हैं।
मैं यहां क्या कर सकता हूं? धन्यवाद।
DECLARE @Latitude decimal (10,6);
DECLARE @Longitude decimal (10,6);
DECLARE @MilesRadius int;
SET @Latitude = 29.607654
SET @Longitude = -98.508731
SET @MilesRadius = 5
SELECT ADR.LineOne as address,
ADR.City as city,
ADR.Latitude as latitude,
ADR.Longitude as longitude,
((3959 * acos(cos(radians(@Latitude)) * cos(radians(ADR.Latitude)) * cos(radians(ADR.Longitude) - radians(@Longitude)) + sin(radians(@Latitude)) * sin(radians(ADR.Latitude))))) as distance
FROM Shared.Address ADR
WHERE ADR.Latitude IS NOT NULL AND
ADR.Longitude IS NOT NULL AND
(3959 * acos(cos(radians(@Latitude)) * cos(radians(ADR.Latitude)) * cos(radians(ADR.Longitude) - radians(@Longitude)) + sin(radians(@Latitude)) * sin(radians(ADR.Latitude)))) < @MilesRadius
ORDER BY distance
आप अपनी क्वेरी का हिस्सा है जहां आप चर घोषित याद कर रहे हैं, आपके सवाल – Lamak
मैंने किया है कि जोड़ें। क्षमा करें कि भूल गया। पैरामीटर अक्षांश और देशांतर पता तालिका में अक्षांश और देशांतर फ़ील्ड के समान प्रकार के होते हैं। दशमलव (10,6) – bobetko