W tym przewodniku będziemy pracować nad przedziałem w PostgreSQL.
Wymagania wstępne:
Aby wykonać kroki wykazane w tym przewodniku, będziesz potrzebować następujących elementów:
Interwał w PostgreSQL
Aby przechowywać i zarządzać okresami (minuty, sekundy, lata itp.), PostgreSQL oferuje typ danych interwałowych.
Typ interwału jest następujący:
$ @ interwał
Tutaj:
Formaty interwałowe
Postgres_verbose
$
Gdzie:
To jest format Postgres_verbose, który jest wspólny dla formatów wyjściowych interwałowych.
ISO 8601
Struktura formatu ISO 8601 z decydentami jest następująca:
$ PT
Tutaj:
Następujące skróty jednostkowe są dostępne w ISO 8601:
Oto przykład interwału w formacie ISO 8601 (z decydentami):
P5Y4M3DT2H1M2S
Istnieje alternatywny format ISO 8601. Struktura jest następująca:
$ PT
Oto ten sam przykład przedziału w formacie ISO 8601:
$ P0005-04-03T02: 01: 02
Korzystanie z wartości interwałowych
W tej sekcji zademonstrujemy różne sposoby wykorzystania wartości przedziałów w zapytaniach postgresper.
Podstawowe użycie
Z powłoki PostgreSQL uruchom następujące zapytanie:
WYBIERAĆ
Teraz (), teraz () - interwał „1 rok 3 godziny 20 minut”
Jako „3 godziny 20 minut temu zeszłego roku”;
Tutaj:
Formaty wyjściowe interwału
W PostgreSQL możemy określić format wyjściowy wartości interwałowej za pomocą następującego polecenia:
$ Set interalstyle = '';
Istnieje kilka dostępnych formatów:
Umieśćmy to polecenie w działaniu. Poniższe zapytania pokazują wyjście interwałowe w różnych formatach:
Set interalStyle = 'sql_standard';
Wybierz interwał „5 lat 4 miesiące 3 dni 2 godziny 1 minuty 2 sekundy”;
Set interalStyle = 'postgres';
Wybierz interwał „5 lat 4 miesiące 3 dni 2 godziny 1 minuty 2 sekundy”;
Set interalstyle = 'postgres_verbose';
Wybierz interwał „5 lat 4 miesiące 3 dni 2 godziny 1 minuty 2 sekundy”;
Set interalStyle = 'ISO_8601';
Wybierz interwał „5 lat 4 miesiące 3 dni 2 godziny 1 minuty 2 sekundy”;
Operatorzy arytmetyczne interwału
Możliwe jest zastosowanie operacji arytmetycznych (+, -, *) na wartości przedziału. Poniższe zapytania pokazują tę funkcję:
WYBIERAĆ
Interwał „3H 50 m” + interwał „10m”;
WYBIERAĆ
Przedział „9H 50m” - Interwał „50m”;
WYBIERAĆ
3600 * Interwał „1 minuta”;
Przekształcenie interwału na ciąg
Za pomocą funkcji to_char () możemy przekonwertować wartość interwału na ciąg. Struktura to_char () jest następująca:
$ To_char (, );
Tutaj:
Poniższe zapytanie pokazuje prosty przykład przekształcenia interwału w formacie ISO 8601 w prosty ciąg:
WYBIERAĆ
To_char (
Interwał „P0005-04-03T02: 01: 02”,
„HH24: MI: SS”
);
Ekstrakcja danych z interwału
Za pomocą funkcji wyciąg () możemy wyodrębnić zawartość określonego pola z wartości przedziału. Struktura dowodzenia wyciąg () w tandemie z przedziałem jest następująca:
$ Ekstrakt (Z );
Tutaj:
Uruchommy funkcję ekstraktu (). W poniższym przykładzie wyodrębniamy pole minutowe z wartości interwałowej:
WYBIERAĆ
WYCIĄG (
MINUTA
Z
Interwał „P0005-04-03T02: 01: 02”
Dostosowanie wartości interwałowej
Funkcje Justify_Days () i Justify_hours () mogą konwertować odstępy od 30 dni na 1 miesiąc i 24 godziny na 1 dzień,.
Poniższe zapytanie pokazuje użycie tych funkcji:
WYBIERAĆ
justify_days (interwał '90 dni),
justify_hours (interwał '72 godziny ');
Wniosek
Przeszliśmy funkcję przedziału w PostgreSQL. Ten przewodnik opracowuje różne obsługiwane formaty przedziałów. Prezentuje także różne sposoby wdrażania interwału w zapytaniach. Na koniec badaliśmy również różne funkcje PostgreSQL, które tłumaczą/przekształcają wartość przedziału w określonych formatach.
Trzeba wchodzić w interakcje z PostgreSQL przez sieć? Istnieje różne dostępne GUI PostgreSQL, które mogą łączyć się ze zdalnym serwerem i zarządzać nim bez wysiłku. Oprócz wbudowanych funkcji PostgreSQL obsługuje również funkcje zdefiniowane przez użytkownika.