reltime的输入方式可以采用任何合法的时间段文本格式,包括数字形式(含负数和小数)及时间形式,其中时间形式的输入支持SQL标准格式、ISO-8601格式、POSTGRES格式等。另外,文本输入需要加单引号。
时间段输入的详细信息。
表 时间段输入
输入示例 | 输出结果 | 描述 |
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 |
示例
--创建表。
gbase=# CREATE TABLE reltime_type_tab(col1 character(30), col2 reltime);
CREATE TABLE
--插入数据。
gbase=# INSERT INTO reltime_type_tab VALUES ('90', '90');
INSERT 0 1
gbase=# INSERT INTO reltime_type_tab VALUES ('-366', '-366');
INSERT 0 1
gbase=# INSERT INTO reltime_type_tab VALUES ('1975.25', '1975.25');
INSERT 0 1
gbase=# INSERT INTO reltime_type_tab VALUES ('-2 YEARS +5 MONTHS 10 DAYS', '-2 YEARS +5 MONTHS 10 DAYS');
INSERT 0 1
gbase=# INSERT INTO reltime_type_tab VALUES ('30 DAYS 12:00:00', '30 DAYS 12:00:00');
INSERT 0 1
gbase=# INSERT INTO reltime_type_tab VALUES ('P-1.1Y10M', 'P-1.1Y10M');
INSERT 0 1
--查看数据。
gbase=# SELECT * FROM reltime_type_tab;
col1 | col2
--------------------------------+-------------------------------------
90 | 3 mons
-366 | -1 years -18:00:00
1975.25 | 5 years 4 mons 29 days
-2 YEARS +5 MONTHS 10 DAYS | -1 years -6 mons -25 days -06:00:00
30 DAYS 12:00:00 | 1 mon 12:00:00
P-1.1Y10M | -3 mons -5 days -06:00:00
(6 rows)
--删除表。
gbase=# DROP TABLE reltime_type_tab;
DROP TABLE




