PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak ustawić interwałowy format wyjściowy w PostgreSQL?

Podczas pracy z interwałem typ danych w PostgreSQL, możesz zmienić sposób formatowania danych wyjściowych interwału.

Masz do wyboru cztery formaty, w których mogą być wyświetlane Twoje interwały.

Format wyjściowy typu interwału można ustawić na jeden z następujących stylów:

  • sql_standard
  • postgres
  • postgres_verbose
  • iso_8601

Domyślny styl to postgres .

Aby zmienić format interwału, użyj SET intervalstyle Komenda.

Przykłady

Poniższe przykłady demonstrują dane wyjściowe make_interval() podczas korzystania z różnych stylów wyjściowych.

sql_standard

Ten styl jest zgodny ze specyfikacją standardu SQL dla ciągów literału interwału, jeśli wartość interwału spełnia ograniczenia normy (tylko rok, miesiąc lub tylko dzień, bez mieszania składników dodatnich i ujemnych).

W przeciwnym razie wynik wygląda jak standardowy ciąg literałowy rok-miesiąc, po którym następuje ciąg literału dziennego, z wyraźnymi znakami dodanymi w celu rozróżnienia interwałów między znakami mieszanymi.

Oto przykład wykorzystujący rok-miesiąc.

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

Wynik:

1-2

Poniżej znajduje się kolejny przykład. Tym razem określam lata, miesiące, tygodnie, dni, godziny, minuty i sekundy.

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

Wynik:

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

postgres

postgress jest ustawieniem domyślnym.

Ten styl pasuje do wyników wydań Postgresa przed wersją 8.4, gdy DateStyle parametr został ustawiony na ISO .

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

Wynik:

1 year 2 mons 25 days 05:06:07

postgres_verbose

Ten styl pasuje do wyników wydań Postgresa przed wersją 8.4, gdy DateStyle parametr został ustawiony na inny niż ISO wyjście.

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

Wynik:

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

iso_8601

Ten styl pasuje do „formatu z desygnatorami” opisanego w sekcji 4.4.3.2 normy ISO 8601.

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

Wynik:

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. Automatyzacja codziennych zadań PostgreSQL za pomocą Jenkins

  2. Podziel dane kolumny oddzielone przecinkami na dodatkowe kolumny

  3. PostgreSQL:Jak ustawić search_path na poziomie użytkownika?

  4. Przełączanie awaryjne i powrót po awarii dla PostgreSQL na Microsoft Azure

  5. Jaki typ danych dla szerokości i długości geograficznej?