全部产品

日期时间表达式

日期时间表达式(Datetime Expression)会生成日期时间数据类型的值。

语法如下:

{TIMESTAMP | DATE} string

TIMESTAMP 或 DATE 加上字符串字面量可以生成 TIMESTAMP 或 DATE 类型的值,注意字符串的格式要与系统变量 NLS_TIMESTAMP_FORMATNLS_DATE_FORMAT 一致。

系统变量的值可以通过下面的 SQL 查询:

obclient> SELECT * from v$nls_parameters WHERE parameter like '%FORMAT';
+-------------------------+------------------------------+--------+
| PARAMETER               | VALUE                        | CON_ID |
+-------------------------+------------------------------+--------+
| NLS_DATE_FORMAT         | DD-MON-RR                    |      0 |
| NLS_TIMESTAMP_FORMAT    | DD-MON-RR HH.MI.SSXFF AM     |      0 |
| NLS_TIMESTAMP_TZ_FORMAT | DD-MON-RR HH.MI.SSXFF AM TZR |      0 |
+-------------------------+------------------------------+--------+
3 rows in set (0.00 sec)

例如系统变量 NLS_TIMESTAMP_FORMAT 的值为 DD-MON-RR HH.MI.SSXFF AM,可以用下面的表达式生成一个 timestamp 类型的值。

obclient> SELECT timestamp '2020-01-01 10:00:00' FROM DUAL;
+---------------------------------+
| TIMESTAMP'2020-01-0110:00:00'   |
+---------------------------------+
| 01-JAN-20 10.00.00.000000000 AM |
+---------------------------------+
1 row in set (0.01 sec)