English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Les fonctions intégrées de PostgreSQL sont également appelées fonctions agrégées, et sont utilisées pour traiter les données de chaîne ou de nombre.
Voici la liste de toutes les fonctions intégrées génériques de PostgreSQL :
Fonction COUNT : Utilisée pour calculer le nombre de lignes dans une table de base de données.
Fonction MAX : Utilisée pour rechercher la valeur maximale d'une colonne spécifique.
Fonction MIN : Utilisée pour rechercher la valeur minimale d'une colonne spécifique.
Fonction AVG : Utilisée pour calculer la moyenne d'une colonne spécifique.
Fonction SUM : Utilisée pour calculer la somme de toutes les valeurs d'une colonne numérique.
Fonctions ARRAY : Utilisées pour ajouter des valeurs (y compris null) à un tableau.
Fonctions numériques : Liste complète des fonctions de nombres nécessaires dans SQL.
Fonctions de chaîne : Liste complète des fonctions de caractères nécessaires dans SQL.
Voici la liste des fonctions mathématiques fournies par PostgreSQL. Il est à noter que beaucoup de ces fonctions existent sous plusieurs formes, la différence étant simplement le type des paramètres. Sauf indication contraire, toute forme spécifique de la fonction retourne le même type de données que ses paramètres.
Fonction | Type de retour | Description | exemple | résultat |
---|---|---|---|---|
abs(x) | Valeur absolue | abs(-17.4) | 17.4 | |
cbrt(double | Racine cubique | cbrt(27.0) | 3 | |
ceil(double/numeric) | Entier minimal non inférieur au paramètre | ceil(-42.8) | -42 | |
degrees(double | Convertir les radians en degrés | degrees(0.5) | 28.6478897565412 | |
exp(double/numeric) | Exponentielle naturelle | exp(1.0) | 2.71828182845905 | |
floor(double/numeric) | Entier maximal non supérieur au paramètre | floor(-42.8) | -43 | |
ln(double/numeric) | Logarithme naturel | ln(2.0) | 0.693147180559945 | |
log(double/numeric) | 10Logarithme en base | log(10,0.0) | 2 | |
log(b numeric,x numeric) | numeric | Logarithme à la base spécifiée | log(2,0.0 64.0) | 6,0000000000 |
mod(y, x) | Reste de la division | mod(9,4) | 1 | |
pi() | double | Constante π | pi() | 3.14159265358979 |
puissance(a double, b double) | double | La puissance de a à b | puissance(9,0.0 3.0) | 729 |
puissance(a numeric, b numeric) | numeric | La puissance de a à b | puissance(9,0.0 3.0) | 729 |
radians(double) | double | Convertir un angle en radians | radians(45.0) | 0.785398163397448 |
random() | double | 0.0 à1entre 0.0 et | random() | |
round(double/numeric) | arrondi à l'entier le plus proche | round(42.4) | 42 | |
round(v numeric, s int) | numeric | arrondi à s décimales | round(42.438,2) | 42.44 |
sign(double/numeric) | signe des paramètres(-1,0,+1) | sign(-8.4) | -1 | |
sqrt(double/numeric) | racine carrée | sqrt(2.0) | 1.4142135623731 | |
trunc(double/numeric) | tronquer (vers zéro) | trunc(42.8) | 42 | |
trunc(v numeric, s int) | numeric | tronquer en s décimales | trunc(42.438,2) | 42.43 |
Fonction | Description |
---|---|
acos(x) | arc cosinus |
asin(x) | arc sinus |
atan(x) | arc tangente |
atan2(x, y) | tangente y/fonction inverse de x |
cos(x) | cosinus |
cot(x) | cotangent |
sin(x) | sinus |
tan(x) | tangente |
Voici la liste des opérateurs de chaîne fournis par PostgreSQL :
Fonction | Type de retour | Description | exemple | résultat |
---|---|---|---|---|
string 丨丨 string | text | concaténation de chaînes | 'Post' 丨丨 'greSQL' | PostgreSQL |
bit_length(string) | int | nombre de bits binaires dans la chaîne | bit_length('jose') | 32 |
char_length(string) | int | nombre de caractères dans la chaîne | char_length('jose') | 4 |
convert(string using conversion_name) | text | utiliser le nom de conversion spécifié pour changer l'encodage. | convert('PostgreSQL' using iso_8859_1_to_utf8) | 'PostgreSQL' |
lower(string) | text | passer une chaîne en minuscules | lower('TOM') | tom |
octet_length(string) | int | nombre d'octets dans la chaîne | octet_length('jose') | 4 |
overlay(string placing string from int [for int]) | text | remplacer une sous-chaine | overlay('Txxxxas' placing 'hom' from 2 for 4) | Thomas |
position(sous-chaine dans string) | int | emplacement de la sous-chaine spécifiée | position('om' in 'Thomas') | 3 |
substring(string [from int] [for int]) | text | extraire une sous-chaine | substring('Thomas' from 2 for 3) | hom |
substring(string from pattern) | text | Extraire une sous-chaîne correspondant à l'expression régulière POSIX | substring('Thomas' from '…$') | mas |
substring(string from pattern for escape) | text | Extraire une sous-chaîne correspondant à l'expression régulière SQL | substring('Thomas' from '%#"o_a#"_' for '#') | oma |
trim([leading丨trailing 丨 both] [characters] from string) | text | À partir du début de la chaîne string/La fin/Les deux côtés/ Supprimer le plus long segment de caractères qui ne sont présents que dans characters (par défaut, un espace) des deux côtés. | trim(both 'x' from 'xTomxx') | Tom |
upper(string) | text | Convertir une chaîne en majuscules. | upper('tom') | TOM |
ascii(text) | int | Code ASCII du premier caractère du paramètre | ascii('x') | 120 |
btrim(string text [, characters text]) | text | Supprimer le plus long segment de caractères à partir du début et de la fin de string qui ne sont présents que dans characters (par défaut, des espaces). | btrim('xyxtrimyyx','xy') | trim |
chr(int) | text | Donner le caractère de code ASCII | chr(65) | A |
convert(string text, [src_encoding name,] dest_encoding name) | text | Convertir une chaîne en dest_encoding | convert( 'text_in_utf8', 'UTF8', 'LATIN1) | en ISO 8859-1texte codé en UTF8 |
initcap(text) | text | Changer la première lettre de chaque mot en majuscule, les autres en minuscule. Un mot est une série de caractères alphanumériques, séparés par des caractères non alphanumériques. | initcap('hi thomas') | Hi Thomas |
length(string text) | int | Le nombre de caractères dans string | length('jose') | 4 |
lpad(string text, length int [, fill text]) | text | En remplissant les caractères fill (par défaut, un espace), string est étendu à la longueur length. Si string est déjà plus long que length, il est tronqué (à droite). | lpad('hi', 5, 'xy') | xyxhi |
ltrim(string text [, characters text]) | text | Supprimer du début de la chaîne string la plus longue qui ne contient que des characters (par défaut, un espace) | ltrim('zzzytrim','xyz') | trim |
md5(string text) | text | Calculer l'MD du string donné5Hachage, retourner le résultat en hexadécimal. | md5('abc') | |
repeat(string text, number int) | text | Répéter string number fois. | repeat('Pg', 4) | PgPgPgPg |
replace(string text, from text, to text) | text | Remplacer toutes les occurrences de la sous-chaine from dans la chaîne string par la sous-chaine to. | replace('abcdefabcdef', 'cd', 'XX') | abXXefabXXef |
rpad(string text, length int [, fill text]) | text | Remplir la chaîne string avec des caractères fill (par défaut, un espace) pour obtenir une longueur length. Si la chaîne string est déjà plus longue que length, elle est tronquée. | rpad('hi', 5, 'xy') | hixyx |
rtrim(string text [, character text]) | text | Supprimer du début de la chaîne string la plus longue qui ne contient que des caractères (par défaut, un espace) | rtrim('trimxxxx','x') | trim |
split_part(string text, delimiter text, field int) | text | Retourner le sous-chaine généré par delimiter pour string et le champ field(1 Base). | split_part('abc~@~def~@~ghi', '~@~', 2) | def |
strpos(string, substring) | text | La position de la sous-chaine déclarée. | strpos('high','ig') | 2 |
substr(string, from [, count]) | text | Extraire une sous-chaine. | substr('alphabet', 3, 2) | ph |
to_ascii(text [, encoding]) | text | Convertir le texte de l'autre encodage en ASCII. | to_ascii('Karel') | Karel |
to_hex(number int/bigint) | text | Convertir un nombre en sa représentation hexadécimale correspondante. | to_hex(9223372036854775807) | 7fffffffffffffff |
translate(string text, from text, to text) | text | Convertir tous les caractères correspondant à from dans la chaîne string en caractères correspondants dans to. | translate('12345', '14', 'ax') | a23x5 |
Fonction | Type de retour | Description | Exemple |
---|---|---|---|
to_char(timestamp, text) | text | Convertir un timestamp en chaîne | to_char(current_timestamp, 'HH12:MI:SS') |
to_char(interval, text) | text | Convertir un intervalle en chaîne | to_char(interval '15h 2m 12s', 'HH24:MI:SS') |
to_char(int, text) | text | Convertir un entier en chaîne | to_char(125, '999) |
to_char(double precision, text) | text | Convertir un double précision en chaîne | to_char(125.8::real, '999D9) |
to_char(numeric, text) | text | Convertir un nombre en chaîne | to_char(-125.8, '999D99S') |
to_date(text, text) | date | Convertir une chaîne en date | to_date('05 Dec 2000', 'DD Mon YYYY') |
to_number(text, text) | numeric | Convertir une chaîne en nombre | to_number('12,454.8-', '99G999D9S') |
to_timestamp(text, text) | timestamp | Convertir en format de date spécifique time zone convertir une chaîne en timestamp | to_timestamp('05 Dec 2000', 'DD Mon YYYY') |
to_timestamp(double precision) | timestamp | Convertir l'époque UNIX en timestamp | to_timestamp(1284352323) |
Articles de référence : https://blog.csdn.net/sun5769675/article/détails/50628979