在 Oracle 中获取当前时间可以使用 SYSDATE 或 CURRENT_TIMESTAMP 系统变量,它们分别返回服务器当前时间戳或考虑会话时区的时间戳。此外,可以使用 EXTRACT 函数提取时间戳的特定组件,如小时、分钟、秒。
在 Oracle 数据库中,获取当前时间可以使用 SYSDATE 系统变量。它返回服务器当前时间戳。
SYSDATE 获取当前时间戳SYSDATE 可以直接用在 SQL 查询中,如下所示:
SELECT SYSDATE FROM dual;
结果将是一个时间戳,格式为 YYYY-MM-DD HH:MM:SS.FF。例如:
2025-03-08 14:32:15.123
CURRENT_TIMESTAMP 获取当前时间戳SYSDATE 和 CURRENT_TIMESTAMP 通常可以互换使用。但 CURRENT_TIMESTAMP 在某些情
况下具有优势。
CURRENT_TIMESTAMP 考虑会话时区,而 SYSDATE 始终返回服务器时区的时间。CURRENT_TIMESTAMP 每次查询执行时都会更新其值,而 SYSDATE 保持不变。可以使用以下查询获取当前时间戳,并考虑会话时区:
SELECT CURRENT_TIMESTAMP FROM dual;
如果需要提取时间戳的特定组件,可以使用以下函数:
EXTRACT(HOUR FROM )
EXTRACT(MINUTE FROM )
EXTRACT(SECOND FROM )
例如,要获取当前小时:
SELECT EXTRACT(HOUR FROM SYSDATE) FROM dual;