PostgreSQL -Funktionen

PostgreSQL -Funktionen
PostgreSQL ist ein leistungsstarkes und benutzerfreundliches Datenbankverwaltungssystem, das sichere, schnelle und sehr intuitive Funktionen bietet, sodass Sie sich auf die Daten und nicht auf die Abfrage-Syntax konzentrieren können.

Eine Möglichkeit, wie PostgreSQL seine Verwendung sehr einfach macht, ist die Funktionalität vordefinierter Funktionen. Mit diesen Funktionen können Sie sie anrufen und die erforderlichen Argumente übergeben, um eine Ausgabe zu erhalten.

In diesem Beitrag geben wir Ihnen ein Cheat -Blatt der häufigsten PostgreSQL -Funktionen und zeigen Ihnen sogar, wie Sie bei Bedarf benutzerdefinierte definiert werden können.

Mathematische Funktionen

Die erste Kategorie von PostgreSQL -Funktionen ist mathematische Funktionen. Diese ermöglichen es Ihnen, mathematische Operationen mit den bestandenen Argumenten auszuführen.

Funktion Funktionalität
ABS (x) Gibt einen absoluten Wert von x zurück
Pi() Gibt den konstanten PI -Wert zurück
SQRT (x) Gibt eine quadratische Wurzel von x zurück
mod (x, y) Gibt den Modulowert von x und y zurück
Trunc (x) Abschneidet X zu 0
Exp (x) Gibt den exponentiellen Wert von x zurück
willkürlich() Gibt zufällige Werte zwischen 0 und 1 zurück.0
pow (a, b) Erhöhen Sie A an die Kraft von B
faktorial (x) Gibt den faktoriellen Wert von x zurück
ln () Natural Logarithim

Dies sind einige beliebte mathematische Funktionen, die Sie in Postgresql -Abfragen verwenden können.

Aggregatfunktionen

Ein weiterer Satz von Standard -Postgresql -Funktionen sind aggregierte Funktionen. Diese Art von Funktionen führen eine Aktion auf einen Satz von Werten aus und geben ein einzelnes Ergebnis zurück.

Beliebte PostgreSQL -Aggregat -Funktionen umfassen:

Funktion Funktionalität
avg () Gibt den durchschnittlichen Mittelwert für eine Reihe von Werten zurück
Mindest() Minimalwert für einen bestimmten Wertesatz.
max () Maximalwert für eine bestimmte Wertemenge
Summe() Summe der Eingabewerte
zählen() Anzahl der Zeilen für Nicht-Null-Werte
zählen(*) Gibt die Anzahl der Eingangsreihen zurück

String -Funktionen

In PostgreSQL sind String -Funktionen für die Manipulation von Zeichenfolgenwerten verantwortlich und geben einen Wert zurück.

Gemeinsame Zeichenfolgenfunktionen umfassen:

Funktion Funktionalität
untere() Konvertiert die Eingangszeichenfolge in Kleinbuchstaben
Oberer, höher() Konvertiert die Eingangszeichenfolge in Großbuchstaben
char_length () Gibt die Anzahl der Zeichen in einer Zeichenfolge zurück
|| Verkettet die Zeichenfolge auf der linken Seite mit der String auf der rechten Seite
bit_length () Anzahl der Bits in einer Zeichenfolge
umkehren() Umgeben Sie die Eingangszeichenfolge um
wiederholen() Wiederholen Sie die übergebene Zeichenfolge die angegebene Anzahl von Male.

Datums- und Zeitfunktionen

Wie der Name schon sagt, funktionieren die Zeit- und Datumsfunktionen mit Datums- und Uhrzeitdaten.

Gemeinsame Funktionen umfassen:

Funktion Funktionalität
Jetzt() Gibt das aktuelle Datum und Uhrzeit zurück
aktuelle Uhrzeit() Aktuelle Tageszeit
aktuelles Datum() Gibt das aktuelle Datum zurück
Alter() Gibt das symbolische Ergebnis in Form von Jahr, Monat und Tag ab dem aktuellen Datum zurück
Extrakt() Das Unterfeld aus einem Zeitstempel extrahieren

Geometrische Funktionen

Geometrische Funktionen führen einen geometrischen Betrieb auf dem bestandenen Wertesatz aus. Obwohl Sie diese Funktionen möglicherweise nicht so oft verwenden, sind sie nützlich.

Häufige Beispiele für solche Funktionen sind:

Funktion Funktionalität
Bereich Gibt den Bereich des Objekts zurück.
Durchmesser Gibt den Durchmesser eines Kreises zurück
Länge Gibt die Länge eines Pfades zurück
Box (Kreis) Konvertieren Sie einen Kreis in Box
Box (Punkt) Konvertieren Sie den Punkt in eine leere Box
Pfad (Polygon) Polygon in Pfad konvertieren
Polygon (Pfad) Pfad nach Polygon konvertieren

Netzwerkadressfunktionen

Netzwerkfunktionen sind nützlich, wenn sie mit INET- und CIDR -Typen arbeiten. Gemeinsame Funktionen umfassen:

Funktion Funktionalität
Host (Inet) Gibt die IP -Adresse als Text zurück
Masklen (Inet) Gibt die NetMask -Länge zurück
Netzwerk (INET) Gibt den Netzwerkabschnitt einer Adresse zurück
Familie (inet) Die Adressfamilie extrahieren
NetMask () Gibt die Netzwerkmaske für die Adresse zurück
Inet_Same_Family (Inet, Inet) Gibt true zurück, wenn beide Inet -Adressen die gleiche Familie sind

Die oben genannten Funktionen sind ein Bruchteil der von postgresql unterstützten Funktionen.

So erstellen Sie Postgresql -Benutzerfunktionen

Es gibt einige Fälle, in denen Sie eine benutzerdefinierte Funktion erstellen müssen. Mit PostgreSQL können Sie solche Funktionen mit Namen, Parametern und Rückgabetypen erstellen.

Verwenden Sie die Funktion Anweisung für die Erstellung einer Funktion in PostgreSQL, um eine Funktion zu erstellen.

Die allgemeine Syntax zum Erstellen einer benutzerdefinierten Funktion ist wie gezeigt.

Funktionsfunktion erstellen function_name (Paramate)
Gibt Data_type zurück;
Sprache procedural_language_type;
ALS
$$
ERKLÄREN
-- Deklarieren Sie hier Ihre Variablen
START
-- Code, was die Funktion macht
ENDE
$$

Lasst uns die obige Syntax Schritt für Schritt aufschlüsseln.

  1. Wir beginnen damit, die Funktion erstellen Aussagen gefolgt vom Funktionsnamen. Der Funktionsname kann alles sinnvolle sein.
  2. Als nächstes übergeben wir die Funktionsparameter in einem Paar Klammern. Die Anzahl der Parameter kann alles von 0 bis unendlich sein.
  3. Innerhalb des Funktionsblocks (durch die Eindrücke angezeigt, obwohl nicht erforderlich), verwenden wir die ZURÜCKKEHREN Schlüsselwort gefolgt vom Datentyp, den die Funktion zurückgibt.
  4. Der nächste Teil definiert die prozedurale Sprache der Funktion, von denen das häufigste der ist PLPGSQL. Andere postgresql -Verfahrensfunktionen umfassen PLTCL, Plperl, Plpython.
  5. Schließlich verwenden wir das doppelte Dollar -Zeichensymbol, um die Funktion zu initialisieren. Hier deklarieren wir Variablen und die Funktionslogik, die innerhalb der Start- und Endblöcke platziert ist.

Über die unten angegebenen Links erfahren Sie mehr über die postgresql -prozeduralen Sprachen:

  1. PLPGSQL - SQL -Verfahrenssprache
  2. PLTCL - TCL -Verfahrenssprache
  3. Plperl - Perl -Verfahrenssprache
  4. Plpython - Python -Verfahrenssprache
  5. Externe pl - Andere PL außerhalb postgresql Verteilung

HINWEIS: Benutzerdefinierte Funktionen in PostgreSQL ähneln den Verfahren eng wie. Im Gegensatz zu den Verfahren geben Funktionen jedoch einen Wert zurück.

Beispiel für benutzerdefinierte Funktion

Lassen Sie uns eine einfache Funktion veranschaulichen, die die Anzahl der Elemente holt, die einem einfachen Kriterium entsprechen.

Nehmen wir zum Beispiel die Sakila -Datenbank. Wir können die Anzahl der Filme bekommen, deren Mietwert zwischen 2 und 4 Dollar liegt.

Eine einfache Funktion ist:

Funktion erstellen Get_films (x int, y int)
Gibt int int
Sprache PLPGSQL
ALS
$$
ERKLÄREN
num_films Integer;
START
Wählen Sie Count (*)
In num_films
Aus dem Film
Wo miete zwischen x und y rental_rate;
Return num_films;
ENDE;
$$

Sobald wir die Funktion deklarieren, können wir sie aufrufen und die Werte übergeben wie:

Wählen Sie get_films (2, 4) als number_of_films;

Sobald wir die obige Abfrage ausgeführt haben, sollten wir die Anzahl der Filme erhalten, die den oben genannten Kriterien entsprechen.

In den meisten Fällen müssen Sie solche Funktionen nicht definieren, da es andere einfachere integrierte Methoden gibt, um eine solche Aufgabe zu erfüllen. In diesem Fall zeigt die obige Funktion, wie man mit Funktionen arbeitet.

Abschluss

In diesem Tutorial haben wir gemeinsame PostgreSQL -Funktionen veranschaulicht, um Aufgaben effizienter auszuführen. Schließlich haben wir Ihnen gezeigt, wie Sie Funktionen für benutzerdefinierte Anforderungen erstellen und verwenden können.

Vielen Dank für das Lesen und glückliches Experimentieren!