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

Възникна невалидна операция с плаваща запетая

Вашият резултат в ACOS() е по-голямо от 1 което не може да бъде.

Това се дължи на неточността на плаващата запетая. може да е 1.00000001 например. Поставяйки го малко под 1 работи по следния начин:

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. 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 - Автоматично увеличаване, което позволява изрази UPDATE

  2. Вземете последния запис от всеки месец

  3. Типове данни VARCHAR и NVARCHAR в SQL Server

  4. Услуги за отчитане на SQL сървър:как да спрете изстрелването на отчет при отваряне

  5. Прочетете ангажираната моментна снимка срещу нивото на изолация на моментната снимка