Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lỗi SQL 2012 cho chức năng ACOS

Có vẻ như bạn đang cố tính khoảng cách giữa hai điểm trên Trái đất. Giúp cuộc sống của bạn dễ dàng hơn và sử dụng kiểu địa lý tích hợp sẵn.

DECLARE @lat1 DECIMAL(12, 10) ,
    @lon1 DECIMAL(12, 10) ,
    @lat2 DECIMAL(12, 10) ,
    @lon2 DECIMAL(12, 10)
DECLARE @dist FLOAT

SELECT  @lat1 = 51.1790825000 ,
        @lon1 = 4.1590020000 ,
        @lat2 = 51.1790825000 ,
        @lon2 = 4.1590020000

DECLARE @p1 GEOGRAPHY = GEOGRAPHY::Point(@lat1, @lon1, 4326) ,
    @p2 GEOGRAPHY = GEOGRAPHY::Point(@lat2, @lon2, 4326)

SELECT  @dist = @p1.STDistance(@p2)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CHÈN SQL nhưng tránh trùng lặp

  2. Real so với Floating Point so với Money

  3. Kiểm tra xem một hàng có tồn tại hay không, nếu không, hãy chèn

  4. Chỉ kích hoạt cập nhật SQL khi cột được sửa đổi

  5. Truy vấn con trả về nhiều hơn 1 giá trị. (Chèn trong vòng lặp while)