云数据库OceanBase入门教程 OceanBase 日期时间表达式

2024-02-26 开发教程 云数据库OceanBase入门教程 匿名 4

日期时间表达式(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)