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

Hàm NUMTODSINTERVAL () trong Oracle

Trong Cơ sở dữ liệu Oracle, NUMTODSINTERVAL() hàm chuyển đổi một số thành INTERVAL DAY TO SECOND theo nghĩa đen.

Cú pháp

Cú pháp như sau:

NUMTODSINTERVAL(n, 'interval_unit')

Các n đối số là số cần chuyển đổi.

Giá trị cho interval_unit chỉ định đơn vị của n và phải giải quyết một trong các giá trị chuỗi sau:

  • DAY
  • HOUR
  • MINUTE
  • SECOND

interval_unit đối số không phân biệt chữ hoa chữ thường.

Ví dụ

Dưới đây là một ví dụ để chứng minh:

SELECT NUMTODSINTERVAL(1, 'SECOND')
FROM DUAL;

Kết quả:

+00 00:00:01.000000

Đây là một cái khác sử dụng một phút:

SELECT NUMTODSINTERVAL(1, 'MINUTE')
FROM DUAL;

Kết quả:

+00 00:01:00.000000

Giây phân số

Theo mặc định, độ chính xác của trả về là 9. Đây là một trong những chỉ định giây phân số trong đối số đầu tiên:

SELECT NUMTODSINTERVAL(10.123456789, 'SECOND')
FROM DUAL;

Kết quả:

+00 00:00:10.123456789

Đây là những gì sẽ xảy ra nếu chúng tôi thay đổi nó thành một đơn vị khoảng thời gian khác:

SELECT NUMTODSINTERVAL(10.123456789, 'DAY')
FROM DUAL;

Kết quả:

+10 02:57:46.666569600

Đối số rỗng

Chuyển null cho một trong hai đối số cho kết quả là null :

SET NULL 'null';
SELECT 
    NUMTODSINTERVAL(1, null),
    NUMTODSINTERVAL(null, 'SECOND')
FROM DUAL;

Kết quả:

   NUMTODSINTERVAL(1,NULL)    NUMTODSINTERVAL(NULL,'SECOND') 
__________________________ _________________________________ 
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.

Thiếu đối số

Việc gọi hàm với số lượng đối số sai hoặc không chuyển bất kỳ đối số nào, dẫn đến lỗi:

SELECT NUMTODSINTERVAL()
FROM DUAL;

Kết quả:

Error starting at line : 1 in command -
SELECT NUMTODSINTERVAL()
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. Khai báo ngoại lệ do người dùng xác định bằng phương pháp RAISE_APPLICATION_ERROR trong cơ sở dữ liệu Oracle

  2. Hàm NLS_CHARSET_NAME () trong Oracle

  3. Tích lũy thêm dữ liệu còn thiếu từ tháng trước hoặc năm trước

  4. Làm cách nào để chuyển hướng đầu ra của DBMS_OUTPUT.PUT_LINE thành một tệp?

  5. Oracle PL / SQL:Kiểm tra xem BLOB hoặc CLOB có trống không