sql >> Database >  >> RDS >> Sqlserver

Er is een ongeldige drijvende-kommabewerking opgetreden

Uw resultaat in ACOS() is groter dan 1 wat niet kan.

Dat komt door de floating point onnauwkeurigheid. het kan 1.00000001 zijn bijvoorbeeld. Zet het net iets onder 1 werkt als volgt:

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. Datums tussen twee datums genereren

  2. Mysql PHP gegenereerde tabel:werkt niet met Tablesorter

  3. Hoe u het commentaar van een rol uit de PostgreSQL-database haalt

  4. Hoe kan ik de rijen identificeren die betrokken zijn bij een Oracle-impasse?