PostgreSQL -Intervall

PostgreSQL -Intervall
PostgreSQL ist ein beliebtes relationales Datenbankverwaltungssystem. Es ist eine Open-Source-Software, die für ihre Stabilität und Unterstützung für verschiedene offene technische Standards beliebt ist. Es wird von Entwicklern aus aller Welt aktiv aufrechterhalten.

In diesem Leitfaden werden wir in Postgresql in Intervall arbeiten.

Voraussetzungen:

Um die in diesem Handbuch gezeigten Schritte auszuführen, benötigen Sie die folgenden Komponenten:

  • Ein richtig konfiguriertes Linux-System. Erfahren Sie mehr über die Installation von Ubuntu in VirtualBox.
  • Eine ordnungsgemäße Installation von PostgreSQL. Erfahren Sie mehr über die Installation von Postgresql auf Ubuntu.

Intervall in PostgreSQL

Die Zeiträume speichern und verwalten (Minuten, Sekunden, Jahre usw.) PostgreSQL bietet den Intervalldatentyp an.

  • Die Größe des Intervalls beträgt 16 Bytes.
  • Es kann Werte von -178000000 bis 178000000 Jahre speichern.
  • Unterschiedliche Intervallstile sind beispielsweise Postgres (Standard), postgres_verbose, SQL_Standard, ISO_8601 usw. verfügbar.
  • Arithmetische Operationen sind möglich.

Der Intervalltyp lautet wie folgt:

$ @ Intervall

Hier:

  • Ein Intervallwert darf einen Präzisionswert p haben, wobei der Wert von p zwischen 0 und 6 reichen kann.
  • Das Schild "@" ist optional, kann daher sicher weggelassen werden.

Intervallformate

postgres_verbose
$

Wo:

  • Menge: Eine Zahl, die "+" oder "-" akzeptieren kann.
  • Einheit: Verschiedene Zeiteinheiten werden unterstützt. Zum Beispiel: Jahrzehnt, Jahrhundert, Monat, Tag, Woche, Stunde, Zweiter und Abkürzungen (D, M, Y usw.). Pluralformen werden ebenfalls unterstützt (Tage, Monate usw.).

Dies ist das postgres_verbose -Format, das für Intervallausgangsformate üblich ist.

ISO 8601

Die Struktur des ISO 8601 -Formats mit Designatoren lautet wie folgt:

$ PT

Hier:

  • Der Wert beginnt mit "P".
  • Der Wert, der dem „T“ folgt, bezeichnet die Tageszeit.

Die folgenden Abkürzungen der Einheit sind in ISO 8601 erhältlich:

  • Y: Jahre
  • M: Monate (innerhalb des Datumsabschnitts)
  • W: Wochen
  • D: Tage
  • H: Std
  • M: Minuten (innerhalb des Zeitabschnitts)
  • S: Sekunden

Hier ist ein Intervallbeispiel im ISO 8601 -Format (mit Designatoren):

$ P5YYM3DT2H1M2S

Es gibt ein alternatives Format von ISO 8601. Die Struktur ist wie folgt:

$ PT

Hier ist das gleiche Intervallbeispiel im Alternativformat ISO 8601:

$ P0005-04-03T02: 01: 02

Verwenden der Intervallwerte

In diesem Abschnitt werden wir die verschiedenen Möglichkeiten der Verwendung der Intervallwerte in PostgreSQL -Abfragen demonstrieren.

Grundnutzung
Führen Sie aus der Postgresql -Shell die folgende Abfrage aus:

WÄHLEN

Jetzt (), jetzt () - Intervall '1 Jahr 3 Stunden 20 Minuten'
Als "3 Stunden vor 20 Minuten des letzten Jahres";

Hier:

  • Die Funktion nun () gibt das aktuelle Datum und die aktuelle Uhrzeit zurück.
  • Wir subtrahieren von nun an „1 Jahr 3 Stunden 20 Minuten“ (), um den gewünschten Wert zu erhalten.
  • Mit der AS -Anweisung geben wir einen Namen für die zweite Spalte der Ausgabe an.

Intervallausgangsformate

In PostgreSQL können wir das Ausgabeformat eines Intervallwerts unter Verwendung des folgenden Befehls angeben:

$ Set ivalStyle = '';

Es gibt ein paar verfügbare Formate:

  • SQL_Standard
  • Postgres
  • postgres_verbose
  • ISO_8601

Lassen Sie uns diesen Befehl in die Tat umsetzen. Die folgenden Abfragen zeigen die Intervallausgabe in verschiedenen Formaten:

Setzen Sie IntervalStyle = 'sql_Standard';
Wählen Sie Intervall '5 Jahre 4 Monate 3 Tage 2 Stunden 1 Minuten 2 Sekunde';
Festlegen intervallStyle = 'postgres';
Wählen Sie Intervall '5 Jahre 4 Monate 3 Tage 2 Stunden 1 Minuten 2 Sekunde';
Festlegen InteralStyle = 'postgres_verbose';
Wählen Sie Intervall '5 Jahre 4 Monate 3 Tage 2 Stunden 1 Minuten 2 Sekunde';
Festlegen IntervalStyle = 'ISO_8601';
Wählen Sie Intervall '5 Jahre 4 Monate 3 Tage 2 Stunden 1 Minuten 2 Sekunde';

Intervall -arithmetische Operatoren

Es ist möglich, die arithmetischen Operationen (+, -, *) auf die Intervallwerte anzuwenden. Die folgenden Abfragen zeigen diese Funktion:

WÄHLEN

Intervall '3H 50m' + Intervall '10m';

WÄHLEN

Intervall '9H 50m' - Intervall '50m';

WÄHLEN

3600 * Intervall '1 Minute';

Konvertierungsintervall in String

Mit Hilfe der Funktion to_char () können wir den Wert des Intervalls in eine Zeichenfolge konvertieren. Die Struktur von to_char () lautet wie folgt:

$ To_char (, );

Hier:

  • Das erste Argument ist der Intervallwert, der transformiert wird. Es kann in jedem Intervallformat sein.
  • Das zweite Argument beschreibt das Format der Ausgabe.

Die folgende Abfrage zeigt ein einfaches Beispiel für das Umwandeln eines Intervalls in ISO 8601 -Format in eine einfache Zeichenfolge:

WÄHLEN
To_char (
Intervall 'P0005-04-03T02: 01: 02',
'HH24: MI: SS'
);

Datenextraktion aus Intervall

Mit Hilfe der Funktion extract () können wir den Inhalt eines bestimmten Feldes aus einem Intervallwert extrahieren. Die Befehlsstruktur von extract () im Tandem mit Intervall ist wie folgt:

$ Extract ( AUS );

Hier:

  • Feld: Das Feld aus dem Intervall extrahiert werden. Zum Beispiel: Sekunden, Minuten, Stunden, Datum, Monat, Jahr usw.
  • Intervall: Der Intervallwert.

Lassen Sie uns die Funktion extract () in Aktion setzen. Im folgenden Beispiel extrahieren wir das winzige Feld aus einem Intervallwert:

WÄHLEN

EXTRAKT (
MINUTE
AUS
Intervall 'P0005-04-03T02: 01: 02'

Intervallwerteinstellung

Die Funktionen von Justify_Days () und Justify_hours () können die Intervalle von 30 Tagen auf 1 Monat bzw. 24 Stunden auf 1 Tag umwandeln.

Die folgende Abfrage zeigt die Verwendung dieser Funktionen:

WÄHLEN

Justify_Days (Intervall '90 Tage '),
Justify_hours (Intervall '72 Stunden ');

Abschluss

Wir haben die Intervallfunktion in PostgreSQL durchgesehen. Dieser Leitfaden erläutert verschiedene unterstützte Intervallformate. Es zeigt auch die verschiedenen Möglichkeiten zur Implementierung des Intervalls in Abfragen. Schließlich haben wir auch die verschiedenen PostgreSQL -Funktionen untersucht, die den Intervallwert in den angegebenen Formaten übersetzen/transformieren.

Müssen mit PostgreSQL über ein Netzwerk interagieren? Es gibt verschiedene verfügbare PostgreSQL -GUIs, die eine Verbindung zu einem Remote -Server herstellen und mühelos verwalten können. Neben den integrierten Funktionen unterstützt PostgreSQL auch die benutzerdefinierten Funktionen.