PostgreSQL Allgemeine Funktionen

PostgreSQL integrierte Funktionen, auch Aggregatfunktionen genannt, werden verwendet, um Zeichenfolgen- oder numerische Daten zu verarbeiten.

Das Folgende ist eine Liste aller gängigen in PostgreSQL integrierten Funktionen:

  • COUNT-Funktion: wird verwendet, um die Anzahl der Zeilen in einer Datenbanktabelle zu zählen.
  • MAX-Funktion: wird verwendet, um den Maximalwert in einer bestimmten Spalte abzufragen.
  • MIN-Funktion: Wird verwendet, um den kleinsten Wert in einer bestimmten Spalte abzufragen.
  • AVG-Funktion: Wird verwendet, um den Durchschnittswert in einer bestimmten Spalte zu berechnen.
  • SUM-Funktion: Wird verwendet, um die Summe aller Werte in einer numerischen Spalte zu berechnen.
  • ARRAY-Funktion: Wird verwendet, um Eingabewerte (einschließlich null) einem Array hinzuzufügen.
  • Numerische Funktionen: eine vollständige Liste der Funktionen, die für die in SQL erforderlichen Operationen benötigt werden.
  • String-Funktionen: eine vollständige Liste der Funktionen, die für Zeichenoperationen in SQL benötigt werden.

Mathematische Funktionen

Das Folgende ist eine Liste der in PostgreSQL bereitgestellten mathematischen Funktionen. Beachten Sie, dass viele dieser Funktionen mehrere Formen haben, die sich nur in den Typen ihrer Argumente unterscheiden. Sofern nicht anders angegeben, gibt jede spezifische Form einer Funktion denselben Datentyp wie ihr Argument zurück.

Funktion Rückgabetyp Beschreibung Beispiel Ergebnis
abs(x) Absolutwert abs(-17.4) 17.4
cbrt(double) Kubikwurzel cbrt(27.0) 3
ceil(double/numeric) Kleinste ganze Zahl, die nicht kleiner als das Argument ist ceil(-42.8) -42
degrees(double) Konvertiert Bogenmaß in Grad degrees(0.5) 28.6478897565412
exp(double/numeric) Natürliche Exponentialfunktion exp(1.0) 2.71828182845905
floor(double/numeric) Größte ganze Zahl, die nicht größer als das Argument ist floor(-42.8) -43
ln(double/numeric) Natürlicher Logarithmus ln(2.0) 0.693147180559945
log(double/numeric) Logarithmus zur Basis 10 log(100.0) 2
log(b numeric,x numeric) numeric Logarithmus mit angegebener Basis log(2.0, 64.0) 6.0000000000
mod(y, x) Rest mod(9,4) 1
pi() double Die Konstante "π" pi() 3.14159265358979
power(a double, b double) double a hoch b power(9.0, 3.0) 729
power(a numeric, b numeric) numeric a hoch b power(9.0, 3.0) 729
radians(double) double Rechnet Grad in Bogenmaß um radians(45.0) 0.785398163397448
random() double Zufallswert zwischen 0.0 und 1.0 random()
round(double/numeric) Rundet auf die nächste ganze Zahl round(42.4) 42
round(v numeric, s int) numeric Auf s Dezimalstellen runden round(42.438,2) 42.44
sign(double/numeric) Vorzeichen des Arguments (-1, 0, +1) sign(-8.4) -1
sqrt(double/numeric) Quadratwurzel sqrt(2.0) 1.4142135623731
trunc(double/numeric) Abschneiden (gegen null) trunc(42.8) 42
trunc(v numeric, s int) numeric Auf s Dezimalstellen abschneiden trunc(42.438,2) 42.43

Liste der trigonometrischen Funktionen

Funktion Beschreibung
acos(x) Arkuskosinus
asin(x) Arkussinus
atan(x) Arkustangens
atan2(x, y) Arkustangens von y/x
cos(x) Kosinus
cot(x) Kotangens
sin(x) Sinus
tan(x) Tangens

String-Funktionen und -Operatoren

Das Folgende ist eine Liste der in PostgreSQL bereitgestellten String-Operatoren:

Funktion Rückgabetyp Beschreibung Beispiel Ergebnis
string || string text String-Verkettung 'Post' || 'PostgreSQL' PostgreSQL
bit_length(string) int Anzahl der Bits im String bit_length('jose') 32
char_length(string) int Anzahl der Zeichen im String char_length('jose') 4
convert(string using conversion_name) text Kodierung mit dem angegebenen Konvertierungsnamen ändern. convert('PostgreSQL' using iso_8859_1_to_utf8) 'PostgreSQL'
lower(string) text String in Kleinbuchstaben umwandeln lower('TOM') tom
octet_length(string) int Anzahl der Bytes im String octet_length('jose') 4
overlay(string placing string from int [for int]) text Teilzeichenkette ersetzen overlay('Txxxxas' placing 'hom' from 2 for 4) Thomas
position(substring in string) int Position der angegebenen Teilzeichenkette position('om' in 'Thomas') 3
substring(string [from int] [for int]) text Teilzeichenkette extrahieren substring('Thomas' from 2 for 3) hom
substring(string from pattern) text Teilzeichenkette extrahieren, die dem regulären POSIX-Ausdruck entspricht substring('Thomas' from '…$') mas
substring(string from pattern for escape) text Teilzeichenkette extrahieren, die dem regulären SQL-Ausdruck entspricht substring('Thomas' from '%#"o_a#"_' for '#') oma
trim([leading | trailing | both] [characters] from string) text Entfernt die längste Zeichenkette, die nur aus Zeichen besteht (Standard ist ein Leerzeichen), vom Anfang/Ende/beiden Seiten der Zeichenkette `string`. trim(both 'x' from 'xTomxx') Tom
upper(string) text Wandelt string in Großbuchstaben um. upper('tom') TOM
ascii(text) int ASCII-Code des ersten Zeichens des Arguments ascii('x') 120
btrim(string text [, characters text]) text Entfernt die längste Zeichenkette, die aus Zeichen in `characters` besteht (Standard ist Leerzeichen), vom Anfang und Ende von `string`. btrim('xyxtrimyyx','xy') trim
chr(int) text Zeichen mit dem angegebenen ASCII-Code chr(65) A
convert(string text, [src_encoding name,] dest_encoding name) text Konvertiert die Zeichenkette nach `dest_encoding` convert( 'text_in_utf8', 'UTF8', 'LATIN1') `text_in_utf8`, dargestellt in ISO 8859-1-Kodierung
initcap(text) text Wandelt den ersten Buchstaben jedes Wortes in Großbuchstaben um, wobei der Rest in Kleinbuchstaben bleibt. Wörter sind Folgen alphanumerischer Zeichen, die durch nicht alphanumerische Zeichen getrennt sind. initcap('hi thomas') Hi Thomas
length(string text) int Anzahl der Zeichen in `string` length('jose') 4
lpad(string text, length int [, fill text]) text Füllt `string` mit dem Füllzeichen `fill` auf die Länge `length` auf (Standard ist ein Leerzeichen). Wenn `string` bereits länger als `length` ist, wird es (rechts) gekürzt. lpad('hi', 5, 'xy') xyxhi
ltrim(string text [, characters text]) text Entfernt die längste Zeichenkette, die nur aus Zeichen (Standard ist ein Leerzeichen) besteht, vom Anfang von `string`. ltrim('zzzytrim','xyz') trim
md5(string text) text Berechne den MD5-Hash des angegebenen `string` und gib das Ergebnis in hexadezimaler Form zurück. md5('abc')
repeat(string text, number int) text Wiederhole `string` `number` Mal. repeat('Pg', 4) PgPgPgPg
replace(string text, from text, to text) text Ersetze alle Vorkommen der Teilzeichenkette `from` in der Zeichenkette `string` durch die Teilzeichenkette `to`. replace('abcdefabcdef', 'cd', 'XX') abXXefabXXef
rpad(string text, length int [, fill text]) text Füllt `string` auf die Länge `length` mit dem Füllzeichen `fill` auf (Standard ist Leerzeichen). Wenn `string` bereits länger als `length` ist, wird es gekürzt. rpad('hi', 5, 'xy') hixyx
rtrim(string text [, character text]) text Entfernt die längste Zeichenkette, die nur aus Zeichen (Standard ist Leerzeichen) besteht, vom Ende der Zeichenkette `string`. rtrim('trimxxxx','x') trim
split_part(string text, delimiter text, field int) text Gibt den `field`-ten Teilstring zurück, der durch Aufteilen von `string` anhand von `delimiter` erzeugt wird (1-basiert). split_part('abc~@~def~@~ghi', '~@~', 2) def
strpos(string, substring) text Position des angegebenen Teilstrings. strpos('high','ig') 2
substr(string, from [, count]) text Teilzeichenkette extrahieren. substr('alphabet', 3, 2) ph
to_ascii(text [, encoding]) text Konvertiert `text` aus einer anderen Kodierung nach ASCII. to_ascii('Karel') Karel
to_hex(number int/bigint) text Konvertiert `number` in seine entsprechende hexadezimale Darstellung. to_hex(9223372036854775807) 7fffffffffffffff
translate(string text, from text, to text) text Konvertiert alle Zeichen in `string`, die mit Zeichen in `from` übereinstimmen, in die entsprechenden Zeichen in `to`. translate('12345', '14', 'ax') a23x5

Funktionen zur Typkonvertierung

Funktion Rückgabetyp Beschreibung Beispiel
to_char(timestamp, text) text Zeitstempel in Zeichenfolge konvertieren to_char(current_timestamp, 'HH12:MI:SS')
to_char(interval, text) text Intervall in Zeichenfolge konvertieren to_char(interval '15h 2m 12s', 'HH24:MI:SS')
to_char(int, text) text Integer in Zeichenkette umwandeln to_char(125, '999')
to_char(double precision, text) text double precision in Zeichenkette umwandeln to_char(125.8::real, '999D9')
to_char(numeric, text) text numeric in Zeichenkette umwandeln to_char(-125.8, '999D99S')
to_date(text, text) date Zeichenkette in Datum umwandeln to_date('05 Dec 2000', 'DD Mon YYYY')
to_number(text, text) numeric Zeichenkette in Zahl umwandeln to_number('12,454.8-', '99G999D9S')
to_timestamp(text, text) timestamp In das angegebene Zeitformat konvertieren; Zeitzone: Zeichenkette in Zeitstempel umwandeln to_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(double precision) timestamp Unix-Epoche in Zeitstempel umwandeln to_timestamp(1284352323)

Referenzartikel: https://blog.csdn.net/sun5769675/article/details/50628979

Andere Erweiterungen