云数据库 GAUSSDB-日期/时间类型:日期输入

时间:2023-11-15 14:50:15

日期输入

日期和时间的输入几乎可以是任何合理的格式,包括ISO-8601格式、SQL-兼容格式、传统POSTGRES格式或者其它的形式。系统支持按照日、月、年的顺序自定义日期输入。如果把DateStyle参数设置为MDY就按照“月-日-年”解析,设置为DMY就按照“日-月-年”解析,设置为YMD就按照“年-月-日”解析。

日期的文本输入需要加单引号包围,语法如下:

type [ ( p ) ] 'value'

可选的精度声明中的p是一个整数,表示在秒域中小数部分的位数。表2显示了date类型的输入方式。

表2 日期输入方式

例子

描述

1999-01-08

ISO 8601格式(建议格式),任何方式下都是1999年1月8号。

January 8, 1999

在任何datestyle输入模式下都无歧义。

1/8/1999

有歧义,在MDY模式下是一月八号,在DMY模式下是八月一号。

1/18/1999

MDY模式下是一月十八日,其它模式下被拒绝。

01/02/03

  • MDY模式下的2003年1月2日。
  • DMY模式下的2003年2月1日。
  • YMD模式下的2001年2月3日。

1999-Jan-08

任何模式下都是1月8日。

Jan-08-1999

任何模式下都是1月8日。

08-Jan-1999

任何模式下都是1月8日。

99-Jan-08

YMD模式下是1月8日,否则错误。

08-Jan-99

一月八日,除了在YMD模式下是错误的之外。

Jan-08-99

一月八日,除了在YMD模式下是错误的之外。

19990108

ISO 8601;任何模式下都是1999年1月8日。

990108

ISO 8601;任何模式下都是1999年1月8日。

1999.008

年和年里的第几天。

J2451187

儒略日。

January 8, 99 BC

公元前99年。

示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--创建表。
openGauss=# CREATE TABLE date_type_tab(coll date);

--插入数据。
openGauss=# INSERT INTO date_type_tab VALUES (date '12-10-2010');

--查看数据。
openGauss=# SELECT * FROM date_type_tab;
        coll         
---------------------
 2010-12-10
(1 row)

--查看日期格式。
openGauss=# SHOW datestyle;
 DateStyle 
-----------
 ISO, MDY
(1 row)

--设置日期格式。
openGauss=# SET datestyle='YMD';
SET

--插入数据。
openGauss=# INSERT INTO date_type_tab VALUES(date '2010-12-11');

--查看数据。
openGauss=# SELECT * FROM date_type_tab;
        coll         
---------------------
 2010-12-10
 2010-12-11
(2 rows)

--删除表。
openGauss=# DROP TABLE date_type_tab;
support.huaweicloud.com/distributed-devg-v2-gaussdb/gaussdb_v5r2c10_0322.html