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

时间:2023-11-01 16:18:32

日期输入

日期和时间的输入几乎可以是任何合理的格式,包括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 910111213141516171819202122232425262728293031323334353637
--创建表。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;
support.huaweicloud.com/centralized-devg-v3-opengauss/gaussdb-12-0332.html