PostgreSQL ISO 8601

国际标准化组织的国际标准ISO 8601是日期和时间的表示方法,全称为《数据存储和交换形式·信息交换·日期和时间的表示方法》。目前最新为第三版ISO8601:2004,第一版为ISO8601:1988,第二版为ISO8601:2000。摘自百度百科)

select cast'2018-08-05T11:00:00Z' as timestamp), --标准时间
	cast'2018-08-05T11:00:00+8' as timestamptz),--东八区,自动转换为pg本地日期时间
	cast'2018-08-05T11:00:00-8' as timestamptz),--西八区,自动转换为pg本地日期时间
	cast'1970-01-01' as date),			--日期无需时区
	cast'11:00:00' as time),			--不带时区
	cast'11:00:00+8' as timetz),		--东八区时间
	cast'11:00:00-8' as timetz),		--西八区时间
	cast'P1Y3M15DT16H30M15S' as interval),	--1年间隔3个月15天16小时30分钟15秒
	cast'P3M15DT16H30M15S' as interval),	--间隔3个月15天16小时30分钟15秒
	cast'P3M' as interval),	--3个月,M在P后表示月
	cast'3M' as interval),	--3分钟,如果没有P和M,默认为分钟,M的含义取决于它出现在T之前还是之后
	cast'PT3M' as interval)	--3分钟,如果没有P和M,默认为分钟,M的含义取决于它出现在T之前还是之后

Jetbrains全家桶1年46,售后保障稳定

ISO 8601 间隔单位缩写

该串必须以一个P开始,并且可以包括一个引入当日时间单位的T。单位可以被忽略,并且可以以任何顺序指定,但是小于一天的单位必须出现在T之后。M的含义取决于它出现在T之前还是之后。

缩写 含义
Y
M 月(在日期部分中)
W
D
H 小时
M 分钟 在时间部分中)
S

间隔单位书写规范建议

以P开始并且包含T分隔符,以避免差生岐义。

select cast'P3MT2M' as interval),cast'PT3M' as interval); --一看到就知道
select cast'3M' as interval); --????
select cast'P3M' as interval); --????

Published by

风君子

独自遨游何稽首 揭天掀地慰生平