sql >> Databasteknik >  >> RDS >> Sqlserver

SQL 2012 bugg för ACOS-funktionen

Det ser ut som att du försöker beräkna avståndet mellan två punkter på jorden. Gör ditt liv enklare och använd den inbyggda geografitypen.

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. SQL Sorteringsordning efter den ordning som anges i frågan

  2. konvertera Epoch tidsstämpel till sql-server (läsbart format för människor)

  3. Återställ mysql-databasen från .frm-filer

  4. Android JDBC fungerar inte:ClassNotFoundException på drivrutinen