云数据库 GAUSSDB-日期/时间类型:日期输入
日期输入
日期和时间的输入几乎可以是任何合理的格式,包括ISO-8601格式、SQL-兼容格式或者其它的格式。系统支持按照日、月、年的顺序自定义日期输入。如果把DateStyle参数设置为MDY就按照“月-日-年”解析,设置为DMY就按照“日-月-年”解析,设置为YMD就按照“年-月-日”解析。
日期的文本输入需要加单引号包围,语法如下:
type [ ( p ) ] 'value'
可选的精度声明中的p是一个整数,表示在秒域中小数部分的位数。表2显示了date类型的输入格式。
例子 |
描述 |
---|---|
1999-01-08 |
ISO 8601格式(建议格式),任何方式下都是1999年1月8日。 |
January 8, 1999 |
在任何datestyle输入模式下都无歧义。 |
1/8/1999 |
有歧义,在MDY模式下是1月8日,在DMY模式下是8月1日。 |
1/18/1999 |
MDY模式下是1月18日,其它模式下被拒绝。 |
01/02/03 |
|
1999-Jan-08 |
任何模式下都是1月8日。 |
Jan-08-1999 |
任何模式下都是1月8日。 |
08-Jan-1999 |
任何模式下都是1月8日。 |
99-Jan-08 |
YMD模式下是1月8日,否则错误。 |
08-Jan-99 |
1月8日,除了在YMD模式下是错误的之外。 |
Jan-08-99 |
1月8日,除了在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 |
--创建表。 gaussdb=# CREATE TABLE date_type_tab(coll date); --插入数据。 gaussdb=# INSERT INTO date_type_tab VALUES (date '12-10-2010'); --查看数据。 gaussdb=# SELECT * FROM date_type_tab; coll --------------------- 2010-12-10 (1 row) --查看日期格式。 gaussdb=# SHOW datestyle; DateStyle ----------- ISO, MDY (1 row) --设置日期格式。 gaussdb=# SET datestyle='YMD'; SET --插入数据。 gaussdb=# INSERT INTO date_type_tab VALUES(date '2010-12-11'); --查看数据。 gaussdb=# SELECT * FROM date_type_tab; coll --------------------- 2010-12-10 2010-12-11 (2 rows) --删除表。 gaussdb=# DROP TABLE date_type_tab; |