Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Грешка в SQL 2012 за функцията ACOS

Изглежда, че се опитвате да изчислите разстоянието между две точки на Земята. Улеснете живота си и използвайте вградения тип география.

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. Как да възстановя повредената база данни на SQL Server?

  2. Получаване на странна грешка, SQL Server заявка с помощта на клауза `WITH`

  3. Защо ISNUMERIC('.') връща 1?

  4. Изисква се заявка за преброяване

  5. Неправилна сума, когато се присъединя към втора маса