PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да настроите изходния формат на интервала в PostgreSQL

При работа с интервала тип данни в PostgreSQL, можете да промените начина на форматиране на изходния интервал.

Имате избор от четири формата, в които вашите интервали могат да бъдат изведени.

Изходният формат на типа интервал може да бъде зададен на един от следните стилове:

  • sql_standard
  • postgres
  • postgres_verbose
  • iso_8601

Стилът по подразбиране е postgres .

За да промените вашия интервален формат, използвайте SET intervalstyle команда.

Примери

Следните примери демонстрират изхода на make_interval() когато използвате различните изходни стилове.

sql_standard

Този стил съответства на спецификацията на SQL стандарта за интервални литерални низове, ако стойността на интервала отговаря на ограниченията на стандарта (само година-месец или само ден, без смесване на положителни и отрицателни компоненти).

В противен случай изходът изглежда като стандартен литерален низ година-месец, последван от дневен литерален низ, с добавени изрични знаци, за да се разграничат интервалите със смесени знаци.

Ето пример за използване на година-месец.

SET intervalstyle = 'sql_standard';
SELECT make_interval(years => 1, months => 2);

Резултат:

1-2

По-долу е друг пример. Този път посочвам години, месеци, седмици, дни, часове, минути и секунди.

SET intervalstyle = 'sql_standard';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

Резултат:

+1-2 +25 +5:06:07

postgres

postgress е настройката по подразбиране.

Този стил съответства на изхода на изданията на Postgres преди 8.4, когато DateStyle параметърът е зададен на ISO .

SET intervalstyle = 'postgres';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

Резултат:

1 year 2 mons 25 days 05:06:07

postgres_verbose

Този стил съответства на изхода на изданията на Postgres преди 8.4, когато DateStyle параметърът е зададен на не-ISO изход.

SET intervalstyle = 'postgres_verbose';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

Резултат:

@ 1 year 2 mons 25 days 5 hours 6 mins 7 secs

iso_8601

Този стил съответства на „формата с обозначения“, описан в раздел 4.4.3.2 от стандарта ISO 8601.

SET intervalstyle = 'iso_8601';
SELECT make_interval(1, 2, 3, 4, 5, 6, 7);

Резултат:

P1Y2M25DT5H6M7S

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Промяна на поле Enum с помощта на Alembic

  2. SequelizeConnectionError:самоподписан сертификат

  3. Преглед на репликацията на ниво обем за PostgreSQL с помощта на DRBD

  4. GroupingError:ERROR:колоната трябва да се появи в клаузата GROUP BY или да се използва в агрегатна функция

  5. ПОРЪЧАЙТЕ ПО списъка със стойности IN