sql >> Databáze >  >> RDS >> Sqlserver

Došlo k neplatné operaci s pohyblivou řádovou čárkou

Váš výsledek v ACOS() je větší než 1 což nemůže být.

Je to kvůli nepřesnosti s pohyblivou řádovou čárkou. může to být 1.00000001 například. Umístění trochu pod 1 funguje takto:

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. SQL vyplní celkový počet pracovních dnů za měsíc mínus státní svátky pro aktuální finanční rok

  2. Automatické generování Doctrine-Entity z existující tabulky

  3. Použití MySQL s Entity Framework

  4. MySQL sloučí 2 sady výsledků s výjimkou záznamů v první