需要将持续时间以ISO 8601格式P[n]Y[n]M[n]DT[n]H[n]M[n]S
存储在PostgreSQL中,然后以相同格式在脚本中进行检索。在PostgreSQL中以哪种数据类型存储ISO 8601持续时间?
[Google搜索显示,有些人将ISO 8601持续时间存储为VARCHAR
。 PostgreSQL以及其他date/time types都有一个interval
data type,它可以interval
格式存储和返回持续时间。例如,
iso_8601
ISO 8601格式的持续时间
CREATE TABLE xyz(
id SERIAL PRIMARY KEY,
duration INTERVAL
);
# SELECT duration FROM xyz;
duration
----------
PT0S
PT1M28S
(2 rows)
的输出样式可以通过interval
命令设置
SET intervalstyle