Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Terjadi operasi floating point yang tidak valid

Hasil Anda di ACOS() lebih besar dari 1 yang tidak mungkin.

Itu karena ketidakakuratan floating point. bisa jadi 1.00000001 contohnya. Letakkan sedikit di bawah 1 bekerja seperti ini:

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. Bagaimana mengatasi kesalahan system.data.sqlclient.sqlexception (0x80131904)

  2. Batasan unik SQL di beberapa tabel

  3. SQL RANK() versus ROW_NUMBER()

  4. Menjelajahi Operasi Indeks Online Tingkat Partisi di SQL Server 2014 CTP1

  5. SQL Server 2014 :Enkripsi cadangan asli