GBase 8c
其他
文章

GBase 8c 数据类型-日期/时间类型 之 日期输入

发表于2023-12-07 13:58:3719次浏览4个评论

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

日期的文本输入需要用单引号括起来,语法如下:

type [ ( p ) ] 'value'

可选精度p为整数,表示在秒域中小数部分的位数。下表列出date类型的输入方式。

                                               表   日期输入

例子描述
1999-01-08ISO 8601格式(建议格式),任何方式下都是1999年1月8号。
January 8, 1999在任何datestyle输入模式下都无歧义。
1/8/1999有歧义,在MDY模式下是一月八号,在DMY模式下是八月一号。
1/18/1999MDY模式下是一月十八日,其它模式下被拒绝。
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-08YMD模式下是1月8日,否则错误。
08-Jan-99一月八日,除了在YMD模式下是错误的之外。
Jan-08-99一月八日,除了在YMD模式下是错误的之外。
19990108ISO 8601;任何模式下都是1999年1月8日。
990108ISO 8601;任何模式下都是1999年1月8日。
1999.008年和年里的第几天。
J2451187儒略日。
January 8, 99 BC公元前99年。

示例

--创建表。

gbase=# CREATE TABLE date_type_tab(coll date);

CREATE TABLE

--插入数据。

gbase=# INSERT INTO date_type_tab VALUES (date '5-10-2022');

INSERT 0 1

--查看数据。

gbase=# SELECT * FROM date_type_tab;

coll

---------------------

2022-05-10 00:00:00

(1 row) 

--查看日期格式。

gbase=# SHOW datestyle;

DateStyle

-----------

ISO, MDY

(1 row) 

--设置日期格式。

gbase=# SET datestyle='YMD';

SET 

--插入数据。

gbase=# INSERT INTO date_type_tab VALUES(date '2022-5-11');

INSERT 0 1

--查看数据。

gbase=# SELECT * FROM date_type_tab;

coll

---------------------

2022-05-10 00:00:00

2022-05-11 00:00:00

(2 rows) 

--删除表。

gbase=# DROP TABLE date_type_tab;

DROP TABLE

评论

登录后才可以发表评论
崔哥发表于 6个月前
墙角数枝梅,凌寒独自开。遥知不是雪,为有暗香来。
崔哥发表于 4个月前
苏溪亭上草漫漫,谁倚东风十二阑。燕子不归春事晚,一汀烟雨杏花寒。
用户头像
levvel发表于 2个月前
海纳百川有容乃大,壁立千仞无欲则刚
用户头像
levvel发表于 1个月前
嗯,只能说不错!