PLSQL | CURRENT_DATE函数
PLSQL CURRENT_DATE函数用于返回会话时区中的当前日期。使用的时区是由 ALTER SESSION 命令设置的当前 SQL 会话的时区。 PLSQL CURRENT_DATE函数使用其数据类型为 DATE 的公历中的值。
CURRENT_DATE函数不接受任何参数。
句法:
CURRENT_DATE
使用的参数:
CURRENT_DATE函数不接受任何参数。
返回值:
CURRENT_DATE函数返回一个日期值。
支持的 Oracle/PLSQL 版本:
- 甲骨文 12c
- 甲骨文 11g
- 甲骨文 10g
- 甲骨文 9i
- 甲骨文 8i
示例 1:使用 SESSIONTIMEZONE函数查找会话时区。
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
SELECT
SESSIONTIMEZONE
FROM
DUAL;
输出:
Session altered.
SESSIONTIMEZONE
+00:00
示例 2:使用 CURRENT_DATE函数获取会话时区中的当前日期。
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
SELECT
SESSIONTIMEZONE
FROM
DUAL;
SELECT
CURRENT_DATE
FROM
DUAL;
输出:
Session altered.
SESSIONTIMEZONE
+00:00
CURRENT_DATE
22-OCT-2019 06:53:58
示例 3:在更改会话时区后使用 CURRENT_DATE函数获取当前日期。
ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH24:MI:SS';
SELECT
SESSIONTIMEZONE
FROM
DUAL;
ALTER SESSION SET TIME_ZONE = '-02:00';
SELECT
CURRENT_DATE
FROM
DUAL;
输出:
Session altered.
SESSIONTIMEZONE
+00:00
Session altered.
CURRENT_DATE
22-OCT-2019 05:05:36
新的当前日期按预期调整了约-2小时。