Необходимо сохранить продолжительность в формате ISO 8601 P[n]Y[n]M[n]DT[n]H[n]M[n]S
в PostgreSQL, а затем получить ее в сценарии в том же формате. В каком типе данных хранить продолжительность ISO 8601 в PostgreSQL?
Хранение продолжительности ISO 8601 в PostgreSQL
Ответы (1)
Поиск в Google показывает, что некоторые люди хранят продолжительность ISO 8601 как VARCHAR
. PostgreSQL, хотя среди других типов даты / времени есть _ 2_ тип данных, который может сохранять и возвращать продолжительность в формате 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';
person
frmbelz
schedule
07.11.2019