Trong Cơ sở dữ liệu Oracle, SYSDATE
hàm trả về ngày và giờ hiện tại được đặt cho hệ điều hành mà máy chủ cơ sở dữ liệu cư trú.
Giá trị trả về thuộc loại DATE
.
Cú pháp
Cú pháp như sau:
SYSDATE
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 SYSDATE
FROM DUAL;
Kết quả:
06/AUG/21
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 tham số này 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(SYSDATE, 'YYYY-MM-DD')
FROM DUAL;
Kết quả:
2021-08-06
Đang gọi SYSDATE
có dấu ngoặc đơn
Như đã đề cập, SYSDATE
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 SYSDATE()
FROM DUAL;
Kết quả:
Error starting at line : 1 in command - SELECT SYSDATE() FROM DUAL Error at Command Line : 1 Column : 15 Error report - SQL Error: ORA-00923: FROM keyword not found where expected 00923. 00000 - "FROM keyword not found where expected" *Cause: *Action:
Sửa SYSDATE
Giá trị trả lại
FIXED_DATE
tham số khởi tạo cho phép bạn đặt ngày và giờ không đổi SYSDATE
sẽ luôn quay lại thay vì ngày và giờ hiện tại.
Điều này có thể hỗ trợ trong các tình huống thử nghiệm khi bạn cần cùng một dữ liệu đầu vào để tạo ra cùng một kết quả nhất quán.
Xem tài liệu của Oracle cho FIXED_DATE
và cả các tham số khởi tạo nói chung để biết thêm thông tin.