Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Đã xảy ra thao tác dấu phẩy động không hợp lệ

Kết quả của bạn trong ACOS() lớn hơn 1 không thể được.

Đó là vì tính không chính xác của dấu chấm động. nó có thể là 1.00000001 ví dụ. Đặt nó ngay bên dưới một chút 1 hoạt động như thế này:

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. Xử lý NULL trong SQL Server

  2. Lưu dữ liệu Trò chuyện trong cơ sở dữ liệu là một ý tưởng hay?

  3. SQL Server:Không thể tạo mối quan hệ

  4. Thủ tục hoặc hàm mong đợi tham số, không được cung cấp

  5. Vòng lặp trên bảng (Không sử dụng con trỏ) để nối dữ liệu