Tôi có vấn đề lạ với mã này: nếu tôi chạy nó như hình dưới đây tôi nhận được lỗi:Đã xảy ra hoạt động điểm động không hợp lệ. SQL Server 2008
An invalid floating point operation occurred.
Nhưng nếu tôi thay đổi thông số @Longitude
để -98,508730 (thông báo chỉ số cuối cùng đã thay đổi) mã hoạt động tốt.
Mã được yêu cầu liệt kê các thuộc tính trong @MilesRadius
xung quanh một số điểm LatLng.
@Thông số và các thông số @ Độ dài có cùng loại với trường kinh độ và vĩ độ trong bảng Địa chỉ.
Tôi có thể làm gì ở đây? Cảm ơn.
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
bạn đang thiếu một phần của truy vấn của bạn, nơi bạn khai báo các biến, xin vui lòng thêm rằng câu hỏi của bạn – Lamak
tôi đã làm. Xin lỗi quên điều đó. Tham số Vĩ độ và Kinh độ có cùng loại với các trường vĩ độ và kinh độ trong bảng Địa chỉ. Thập phân (10,6) – bobetko