Trong Cơ sở dữ liệu Oracle, SYSTIMESTAMP
hàm trả về ngày hệ thống, bao gồm cả giây phân số và múi giờ, của hệ thống mà cơ sở dữ liệu nằm trên đó.
Giá trị trả về thuộc loại TIMESTAMP WITH TIME ZONE
.
Cú pháp
Cú pháp như sau:
SYSTIMESTAMP
Vì vậy, không cần đối số (hoặc được chấp nhận) và không có dấu ngoặc đơn.
Ví dụ
Đây là một ví dụ:
SELECT SYSTIMESTAMP
FROM DUAL;
Kết quả:
06/AUG/21 07:45:00.540362000 PM -04:00
Ví dụ này hiển thị ngày dựa trên giá trị của NLS_DATE_FORMAT
trong hệ thống của tôi tham số (hiện là DD/MON/RR
). Chúng tôi có thể thay đổi NLS_DATE_FORMAT
hoặc sử dụng một hàm như TO_CHAR()
để trả về kết quả ở một định dạng khác.
Ví dụ:
SELECT TO_CHAR(SYSTIMESTAMP, 'YYYY-MM-DD HH24:MI:SS TZR')
FROM DUAL;
Kết quả:
2021-08-06 19:48:43 -04:00
Gọi SYSTIMESTAMP
có dấu ngoặc đơn
Như đã đề cập, SYSTIMESTAMP
hàm được gọi mà không có dấu ngoặc đơn.
Đây là những gì sẽ xảy ra khi chúng tôi gọi nó bằng dấu ngoặc đơn:
SELECT SYSTIMESTAMP()
FROM DUAL;
Kết quả:
Error starting at line : 1 in command - SELECT SYSTIMESTAMP() FROM DUAL Error at Command Line : 1 Column : 21 Error report - SQL Error: ORA-30088: datetime/interval precision is out of range 30088. 00000 - "datetime/interval precision is out of range" *Cause: The specified datetime/interval precision was not between 0 and 9. *Action: Use a value between 0 and 9 for datetime/interval precision.