【发布时间】:2019-11-07 21:24:41
【问题描述】:
需要在 PostgreSQL 中以 ISO 8601 格式 P[n]Y[n]M[n]DT[n]H[n]M[n]S 存储持续时间,然后以相同格式在脚本中检索它。在 PostgreSQL 中存储 ISO 8601 持续时间的数据类型是什么?
【问题讨论】:
标签: postgresql setinterval intervals duration iso8601
需要在 PostgreSQL 中以 ISO 8601 格式 P[n]Y[n]M[n]DT[n]H[n]M[n]S 存储持续时间,然后以相同格式在脚本中检索它。在 PostgreSQL 中存储 ISO 8601 持续时间的数据类型是什么?
【问题讨论】:
标签: postgresql setinterval intervals duration iso8601
谷歌搜索显示,有些人将 ISO 8601 持续时间存储为 VARCHAR。 PostgreSQL 虽然在其他date/time types 中有一个interval data type,它可以以iso_8601 格式存储和返回持续时间。例如,
CREATE TABLE xyz(
id SERIAL PRIMARY KEY,
duration INTERVAL
);
ISO 8601 格式的持续时间
# SELECT duration FROM xyz;
duration
----------
PT0S
PT1M28S
(2 rows)
interval的输出样式可以通过SET intervalstyle命令设置
SET intervalstyle = 'iso_8601';
【讨论】: