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

Hàm TANH () trong Oracle

Trong Oracle, TANH() hàm trả về tiếp tuyến hyperbol của đối số của nó.

Cú pháp

Cú pháp như sau:

TANH(n)

Ở đâu n 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ố.

Ví dụ

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

SELECT TANH(.8)
FROM DUAL;

Kết quả:

                                     TANH(.8) 
_____________________________________________ 
   0.6640367702678489636848446564002428500716

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

Như đã đề cập, đối số có thể là bất kỳ kiểu dữ liệu số hoặc bất kỳ kiểu dữ liệu không phải số nào có thể được chuyển đổi hoàn toàn sang kiểu dữ liệu số.

Đâ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 TANH('Two')
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT TANH('Two')
FROM DUAL
Error report -
ORA-01722: invalid number

Giá trị rỗng

Chuyển null thành TANH() trả về null :

SET NULL 'null';

SELECT TANH(null)
FROM DUAL;

Kết quả:

   TANH(NULL) 
_____________ 
         null 

Theo mặc định, SQLcl và SQL * Plus trả về một khoảng 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

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

SELECT TANH()
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT TANH()
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 TANH(1, 2)
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT TANH(1, 2)
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. Sự cố khi so sánh kết quả của to_char (myDate, 'DAY') với một chuỗi

  2. Cách tạo gói PL / SQL trong cơ sở dữ liệu Oracle

  3. Cách xuất kết quả truy vấn sang tệp CSV trong SQLcl (Oracle)

  4. Xác định nội dung trình tự ASH trong RAC

  5. Tôi không hiểu đối chiếu? (Mysql, RDBMS, Bộ ký tự)