sql >> Databasteknik >  >> RDS >> Sqlserver

En ogiltig flyttalsoperation inträffade

Ditt resultat i ACOS() är större än 1 vilket inte kan vara.

Det är på grund av flyttalsinexakthet. det kan vara 1.00000001 till exempel. Lägger det bara lite under 1 fungerar så här:

SELECT ACOS( 
             (SIN(PI()* 52.9519918465976/180.0)* SIN(PI()* 52.9519918465976/180.0))
             + (COS(PI()* 52.9519918465976/180)*cos(PI()* 52.9519918465976/180.0)*COS(PI()* -1.14304013581239/180.0-PI()* -1.14304013581239/180.0)) 
             - 0.0000001
           ) 


  1. Återställ säkerhetskopiering av SQL Server-databas på lägre version

  2. Använd psqls \copy för en flerradsfråga

  3. mysql - välj timme i datumtid och grupp

  4. Hur får man en uppsättning data från en SQL-fråga från flera tabeller?