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

Hàm ATAN2 () trong Oracle

Trong Oracle, ATAN2() hàm trả về arctangent (tiếp tuyến nghịch đảo) của hai đối số của nó.

Cú pháp

Cú pháp như sau:

ATAN2(n1 , n2)

Ở đâu n1 có thể nằm trong một phạm vi không bị giới hạn và trả về một giá trị trong phạm vi - pi đến pi , tùy thuộc vào các dấu hiệu của n1 n2 , được biểu thị bằng radian.

Ví dụ

Đây là một ví dụ:

SELECT ATAN2(0.3, 0.7)
FROM DUAL;

Kết quả:

                              ATAN2(0.3,0.7) 
____________________________________________ 
   0.404891786285083423312072929009442616553

Đối số không phải là số

Các đối số có thể là bất kỳ kiểu dữ liệu số nào hoặc bất kỳ kiểu dữ liệu phi số nào có thể được chuyển đổi hoàn toàn thành kiểu dữ liệu số.

Dưới đây là những gì sẽ xảy ra khi chúng tôi cung cấp đối số không phải là số không thể chuyển đổi thành kiểu dữ liệu số:

SELECT ATAN2('One', 0.2)
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT ATAN2('One', 0.2)
FROM DUAL
Error report -
ORA-01722: invalid number

Tuy nhiên, đây là những gì sẽ xảy ra khi chúng tôi thay đổi one thành 1 và giữ nguyên các dấu ngoặc kép:

SELECT ATAN2('1', '0.2')
FROM DUAL;

Kết quả:

                           ATAN2('1','0.2') 
___________________________________________ 
   1.37340076694501586086127192644496114865 

Giá trị rỗng

Nếu bất kỳ đối số nào là null , kết quả là null :

SET NULL 'null';

SELECT 
    ATAN2(null, 0.3),
    ATAN2(0.3, null),
    ATAN2(null, null)
FROM DUAL;

Kết quả:

   ATAN2(NULL,0.3)    ATAN2(0.3,NULL)    ATAN2(NULL,NULL) 
__________________ __________________ ___________________ 
              null               null                null

Theo mặc định, SQLcl và SQL * Plus trả về một chuỗi trống bất cứ khi nào null xảy ra do một SELECT trong SQL tuyên bố.

Tuy nhiên, bạn có thể sử dụng SET NULL để chỉ định một chuỗi khác được trả về. Ở đây tôi đã chỉ định rằng chuỗi null nên được trả lại.

Số lượng đối số không chính xác

Gọi ATAN2() mà không chuyển bất kỳ đối số nào sẽ trả về lỗi:

SELECT ATAN2()
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT ATAN2()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

Và việc chuyển sai số đối số dẫn đến lỗi:

SELECT ATAN2(1)
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT ATAN2(1)
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thủ tục lưu trữ Oracle với các tham số cho mệnh đề IN

  2. Ngày Oracle

  3. SQL - Tìm các giá trị int bị thiếu trong chuỗi tuần tự được sắp xếp chủ yếu

  4. Quản lý mật khẩu và tài nguyên trong Oracle bằng cách sử dụng Hồ sơ

  5. Xóa các số 0 ở đầu khỏi nhà phát triển varchar sql