SYSDATE 是 Oracle 数据库中的一个内置函数,它返回当前数据库服务器的系统日期和时间。这个值来自数据库所在操作系统的时钟。
SELECT SYSDATE FROM dual;
SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') AS current_datetime FROM dual;
SELECT (SYSDATE - hire_date) AS days_employed FROM employees;
INSERT INTO orders (order_id, order_date, customer_id)
VALUES (order_seq.NEXTVAL, SYSDATE, 1001);
SELECT * FROM logs WHERE log_time > SYSDATE - 1; -- 过去24小时内的记录
特性 | SYSDATE | SYSTIMESTAMP |
---|---|---|
数据类型 | DATE | TIMESTAMP WITH TIME ZONE |
精度 | 秒 | 微秒(默认) |
时区信息 | 无 | 包含时区信息 |
SELECT COUNT(*)
FROM dual
WHERE TO_CHAR(SYSDATE + LEVEL, 'D') NOT IN ('1', '7')
CONNECT BY LEVEL <= 30; -- 未来30天中的工作日数
SELECT TRUNC(SYSDATE, 'MM') AS first_day_of_month FROM dual;
SELECT ADD_MONTHS(TRUNC(SYSDATE, 'Q'), 3) - 1 AS end_of_quarter FROM dual;
SYSDATE 是 Oracle 日期处理中最基础也是最重要的函数之一,熟练掌握它的用法对于数据库开发和维护至关重要。