English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PostgreSQL 常用函数

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.

Fonctions mathématiques

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.

FonctionType de retourDescriptionexemplerésultat
abs(x)
Valeur absolueabs(-17.4)17.4
cbrt(double
Racine cubiquecbrt(27.0)3
ceil(double/numeric)
Entier minimal non inférieur au paramètreceil(-42.8)-42
degrees(double
Convertir les radians en degrésdegrees(0.5)28.6478897565412
exp(double/numeric)
Exponentielle naturelleexp(1.0)2.71828182845905
floor(double/numeric)
Entier maximal non supérieur au paramètrefloor(-42.8)-43
ln(double/numeric)
Logarithme naturelln(2.0)0.693147180559945
log(double/numeric)
10Logarithme en baselog(10,0.0)2
log(b numeric,x numeric)numericLogarithme à la base spécifiéelog(2,0.0 64.0)6,0000000000
mod(y, x)
Reste de la divisionmod(9,4)1
pi()doubleConstante πpi()3.14159265358979
puissance(a double, b double)doubleLa puissance de a à bpuissance(9,0.0 3.0)729
puissance(a numeric, b numeric)numericLa puissance de a à bpuissance(9,0.0 3.0)729
radians(double)doubleConvertir un angle en radiansradians(45.0)0.785398163397448
random()double0.0 à1entre 0.0 etrandom()
round(double/numeric)
arrondi à l'entier le plus procheround(42.4)42
round(v numeric, s int)numericarrondi à s décimalesround(42.438,2)42.44
sign(double/numeric)
signe des paramètres(-1,0,+1)sign(-8.4)-1
sqrt(double/numeric)
racine carréesqrt(2.0)1.4142135623731
trunc(double/numeric)
tronquer (vers zéro)trunc(42.8)42
trunc(v numeric, s int)numerictronquer en s décimalestrunc(42.438,2)42.43

liste des fonctions trigonométriques

FonctionDescription
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

Fonctions et opérateurs de chaîne

Voici la liste des opérateurs de chaîne fournis par PostgreSQL :

FonctionType de retourDescriptionexemplerésultat
string 丨丨 stringtextconcaténation de chaînes'Post' 丨丨 'greSQL'PostgreSQL
bit_length(string)intnombre de bits binaires dans la chaînebit_length('jose')32
char_length(string)intnombre de caractères dans la chaînechar_length('jose')4
convert(string using conversion_name)textutiliser le nom de conversion spécifié pour changer l'encodage.convert('PostgreSQL' using iso_8859_1_to_utf8)'PostgreSQL'
lower(string)textpasser une chaîne en minusculeslower('TOM')tom
octet_length(string)intnombre d'octets dans la chaîneoctet_length('jose')4
overlay(string placing string from int [for int])textremplacer une sous-chaineoverlay('Txxxxas' placing 'hom' from 2 for 4)Thomas
position(sous-chaine dans string)intemplacement de la sous-chaine spécifiéeposition('om' in 'Thomas')3
substring(string [from int] [for int])textextraire une sous-chainesubstring('Thomas' from 2 for 3)hom
substring(string from pattern)textExtraire une sous-chaîne correspondant à l'expression régulière POSIXsubstring('Thomas' from '…$')mas
substring(string from pattern for escape)textExtraire une sous-chaîne correspondant à l'expression régulière SQLsubstring('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)textConvertir une chaîne en majuscules.upper('tom')TOM
ascii(text)intCode ASCII du premier caractère du paramètreascii('x')120
btrim(string text [, characters text])textSupprimer 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)textDonner le caractère de code ASCIIchr(65)A
convert(string text, [src_encoding name,] dest_encoding name)textConvertir une chaîne en dest_encodingconvert( 'text_in_utf8', 'UTF8', 'LATIN1)en ISO 8859-1texte codé en UTF8
initcap(text)textChanger 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)intLe nombre de caractères dans stringlength('jose')4
lpad(string text, length int [, fill text])textEn 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])textSupprimer 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)textCalculer l'MD du string donné5Hachage, retourner le résultat en hexadécimal.md5('abc')
repeat(string text, number int)textRépéter string number fois.repeat('Pg', 4)PgPgPgPg
replace(string text, from text, to text)textRemplacer 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])textRemplir 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])textSupprimer 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)textRetourner 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)textLa position de la sous-chaine déclarée.strpos('high','ig')2
substr(string, from [, count])textExtraire une sous-chaine.substr('alphabet', 3, 2)ph
to_ascii(text [, encoding])textConvertir le texte de l'autre encodage en ASCII.to_ascii('Karel')Karel
to_hex(number int/bigint)textConvertir un nombre en sa représentation hexadécimale correspondante.to_hex(9223372036854775807)7fffffffffffffff
translate(string text, from text, to text)textConvertir tous les caractères correspondant à from dans la chaîne string en caractères correspondants dans to.translate('12345', '14', 'ax')a23x5

Fonctions de conversion de type

FonctionType de retourDescriptionExemple
to_char(timestamp, text)textConvertir un timestamp en chaîneto_char(current_timestamp, 'HH12:MI:SS')
to_char(interval, text)textConvertir un intervalle en chaîneto_char(interval '15h 2m 12s', 'HH24:MI:SS')
to_char(int, text)textConvertir un entier en chaîneto_char(125, '999)
to_char(double precision, text)textConvertir un double précision en chaîneto_char(125.8::real, '999D9)
to_char(numeric, text)textConvertir un nombre en chaîneto_char(-125.8, '999D99S')
to_date(text, text)dateConvertir une chaîne en dateto_date('05 Dec 2000', 'DD Mon YYYY')
to_number(text, text)numericConvertir une chaîne en nombreto_number('12,454.8-', '99G999D9S')
to_timestamp(text, text)timestampConvertir en format de date spécifique time zone convertir une chaîne en timestampto_timestamp('05 Dec 2000', 'DD Mon YYYY')
to_timestamp(double precision)timestampConvertir l'époque UNIX en timestampto_timestamp(1284352323)

Articles de référence : https://blog.csdn.net/sun5769675/article/détails/50628979