sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan indstilles intervaloutputformatet i PostgreSQL

Når du arbejder med intervallet datatype i PostgreSQL, kan du ændre den måde, intervaloutput formateres på.

Du kan vælge mellem fire formater, som dine intervaller kan udlæses i.

Outputformatet for intervaltypen kan indstilles til en af ​​følgende stilarter:

  • sql_standard
  • postgres
  • postgres_verbose
  • iso_8601

Standardstilen er postgres .

For at ændre dit intervalformat skal du bruge SET intervalstyle kommando.

Eksempler

De følgende eksempler viser outputtet af make_interval() når du bruger de forskellige output-stile.

sql_standard

Denne stil er i overensstemmelse med SQL-standardens specifikation for intervalliteral-strenge, hvis intervalværdien opfylder standardens begrænsninger (enten kun år-måned eller kun dagtid, uden blanding af positive og negative komponenter).

Ellers ser outputtet ud som en standard-års-måned-literal-streng efterfulgt af en dag-time-literal-streng, med eksplicitte tegn tilføjet for at udelukke intervaller med blandede tegn.

Her er et eksempel, der bruger år-måned.

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

Resultat:

1-2

Nedenfor er et andet eksempel. Denne gang angiver jeg år, måneder, uger, dage, timer, minutter og sekunder.

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

Resultat:

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

postgres

postgress er standardindstillingen.

Denne stil matcher outputtet af Postgres-udgivelser før 8.4, når DateStyle parameter blev sat til ISO .

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

Resultat:

1 year 2 mons 25 days 05:06:07

postgres_verbose

Denne stil matcher outputtet af Postgres-udgivelser før 8.4, når DateStyle parameter blev sat til ikke-ISO output.

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

Resultat:

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

iso_8601

Denne stil matcher "formatet med betegnelser" beskrevet i afsnit 4.4.3.2 i ISO 8601-standarden.

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

Resultat:

P1Y2M25DT5H6M7S

  1. Forskellen mellem primær nøgle og unik nøgle

  2. Output SQLite-forespørgselsresultater som en tabulatorsepareret liste

  3. Skalering af PostgreSQL ved hjælp af Connection Poolers &Load Balancers

  4. Hvordan får man tabeldefinition i Oracle?