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

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

时间段输入

reltime的输入方式可以采用任何合法的时间段文本格式,包括数字形式(含负数和小数)及时间形式,其中时间形式的输入支持SQL标准格式、ISO-8601格式、POSTGRES格式等。另外,文本输入需要加单引号。

时间段输入的详细信息请参考表6 时间段输入

表6 时间段输入

输入示例

输出结果

描述

60

2 mons

采用数字表示时间段,默认单位是day,可以是小数或负数。特别的,负数时间段,在语义上,可以理解为“早于多久”。

31.25

1 mons 1 days 06:00:00

-365

-12 mons -5 days

1 years 1 mons 8 days 12:00:00

1 years 1 mons 8 days 12:00:00

采用POSTGRES格式表示时间段,可以正负混用,不区分大小写,输出结果为将输入时间段计算并转换得到的简化POSTGRES格式时间段。

-13 months -10 hours

-1 years -25 days -04:00:00

-2 YEARS +5 MONTHS 10 DAYS

-1 years -6 mons -25 days -06:00:00

P-1.1Y10M

-3 mons -5 days -06:00:00

采用ISO-8601格式表示时间段,可以正负混用,不区分大小写,输出结果为将输入时间段计算并转换得到的简化POSTGRES格式时间段。

-12H

-12:00:00

示例:

 1 2 3 4 5 6 7 8 910111213141516171819202122232425
--创建表。gaussdb=# CREATE TABLE reltime_type_tab(col1 character(30), col2 reltime);--插入数据。gaussdb=# INSERT INTO reltime_type_tab VALUES ('90', '90');gaussdb=# INSERT INTO reltime_type_tab VALUES ('-366', '-366');gaussdb=# INSERT INTO reltime_type_tab VALUES ('1975.25', '1975.25');gaussdb=# INSERT INTO reltime_type_tab VALUES ('-2 YEARS +5 MONTHS 10 DAYS', '-2 YEARS +5 MONTHS 10 DAYS');gaussdb=# INSERT INTO reltime_type_tab VALUES ('30 DAYS 12:00:00', '30 DAYS 12:00:00');gaussdb=# INSERT INTO reltime_type_tab VALUES ('P-1.1Y10M', 'P-1.1Y10M');--查看数据。gaussdb=# SELECT * FROM reltime_type_tab;              col1              |                col2                 --------------------------------+------------------------------------- 1975.25                        | 5 years 4 mons 29 days -2 YEARS +5 MONTHS 10 DAYS     | -1 years -6 mons -25 days -06:00:00 P-1.1Y10M                      | -3 mons -5 days -06:00:00 -366                           | -1 years -18:00:00 90                             | 3 mons 30 DAYS 12:00:00               | 1 mon 12:00:00(6 rows)--删除表。gaussdb=# DROP TABLE reltime_type_tab;
support.huaweicloud.com/centralized-devg-v3-opengauss/gaussdb-12-0332.html