Fonctions postgresql

Fonctions postgresql
PostgreSQL est un système de gestion de base de données puissant et facile à utiliser qui offre des fonctionnalités sécurisées, rapides et très intuitives, vous permettant de vous concentrer sur les données et non sur la syntaxe de requête.

Une façon dont PostgreSQL rend son utilisation très facile est la fonctionnalité des fonctions prédéfinies. Ces fonctions vous permettent de les appeler et de passer les arguments requis pour obtenir une sortie.

Dans cet article, nous vous donnerons une feuille de triche des fonctions postgresql les plus courantes et vous montrerons même comment définir celles personnalisées si nécessaire.

Fonctions mathématiques

La première catégorie de fonctions postgresql est les fonctions mathématiques. Ceux-ci vous permet d'effectuer des opérations mathématiques aux arguments passés.

Fonction Fonctionnalité
ABS (x) Renvoie une valeur absolue de x
pi() Renvoie la valeur constante PI
SQRT (x) Renvoie une racine carrée de x
mod (x, y) Renvoie la valeur modulo de x et y
trunc (x) Tronque x vers 0
Exp (x) Renvoie la valeur exponentielle de x
aléatoire() Renvoie des valeurs aléatoires entre 0 et 1.0
Pow (A, B) Élever un au pouvoir de b
factoriel (x) Renvoie la valeur factorielle de x
LN () Logarithim naturel

Ce sont des fonctions mathématiques populaires que vous pouvez utiliser dans les requêtes postgresql.

Fonctions agrégées

Un autre ensemble de fonctions postgresql standard est les fonctions agrégées. Ces types de fonctions effectuent une action sur un ensemble de valeurs et renvoient un seul résultat.

Les fonctions d'agrégats postgresql populaires comprennent:

Fonction Fonctionnalité
avg () Retourner la moyenne moyenne pour un ensemble de valeurs
min () Valeur minimale pour un ensemble de valeurs donné.
Max () Valeur maximale pour un ensemble donné de valeurs
somme() Somme des valeurs d'entrée
compter() Nombre de lignes pour les valeurs non nulles
compter(*) Renvoie le nombre de lignes d'entrée

Fonctions de chaîne

Dans PostgreSQL, les fonctions de chaîne sont responsables de la manipulation des valeurs de chaîne et renvoient une valeur.

Les fonctions de chaîne communes incluent:

Fonction Fonctionnalité
inférieur() Convertit la chaîne d'entrée en minuscules
supérieur() Convertit la chaîne d'entrée en majuscules
char_length () Renvoie le nombre de caractères dans une chaîne
|| COMPATENNE LA CHIE
bit_length () Nombre de bits dans une chaîne
inverse() Inverser la chaîne d'entrée
répéter() Répétez la chaîne passée le nombre de fois spécifié.

Fonctions de date et d'heure

Comme son nom l'indique, les fonctions de l'heure et de la date fonctionnent avec les données de date et d'heure.

Les fonctions communes comprennent:

Fonction Fonctionnalité
maintenant() Renvoie la date et l'heure actuelles
heure actuelle() Heure actuelle de la journée
date actuelle() Renvoie la date actuelle
âge() Renvoie le résultat symbolique de la forme de l'année, du mois et du jour à partir de la date actuelle
extrait() Extraire sous-champ d'un horodatage

Fonctions géométriques

Les fonctions géométriques effectuent une opération géométrique sur l'ensemble de valeurs passées. Bien que vous ne puissiez pas utiliser ces fonctions aussi souvent, ils sont utiles.

Les exemples courants de telles fonctions comprennent:

Fonction Fonctionnalité
zone Renvoie la zone de l'objet.
diamètre Renvoie le diamètre d'un cercle
longueur Renvoie la longueur d'un chemin
boîte (cercle) Convertir un cercle en boîte
boîte (point) Convertir le point en une boîte vide
Chemin (polygone) Convertir le polygone en chemin
polygone (chemin) Convertir le chemin en polygone

Fonctions d'adresse réseau

Les fonctions du réseau sont utiles lorsque vous travaillez avec des types INET et CIDR. Les fonctions communes comprennent:

Fonction Fonctionnalité
hôte (INET) Renvoie l'adresse IP en tant que texte
Masklen (INET) Renvoie la longueur du masque de réseau
réseau (INET) Renvoie la partie réseau d'une adresse
Famille (INET) Extraire la famille d'adresse
masque de net () Renvoie un masque réseau pour l'adresse
INET_SAME_FAMILY (INET, INET) Renvoie vrai si les deux adresses INET sont la même famille

Les fonctions ci-dessus sont une fraction des fonctions prises en charge par PostgreSQL.

Comment créer des fonctions utilisateur postgresql

Il y a des cas où vous devez créer une fonction personnalisée. PostgreSQL vous permet de créer de telles fonctions avec des noms, des paramètres et des types de retour.

Pour créer une fonction dans PostgreSQL, utilisez l'instruction Create Function.

La syntaxe générale pour créer une fonction personnalisée est comme indiqué.

Créer Function Function_name (Paramaters)
Return data_type;
Langue procédural_language_type;
COMME
$$
DÉCLARER
-- Déclarez vos variables ici
COMMENCER
-- coder ce que fait la fonction
FIN
$$

Décomposons la syntaxe ci-dessus étape par étape.

  1. Nous commençons par utiliser le Créer une fonction instructions suivies du nom de la fonction. Le nom de la fonction peut être quelque chose de significatif.
  2. Ensuite, nous passons les paramètres de fonction à l'intérieur d'une paire de parenthèses. Le nombre de paramètres peut être de 0 à l'infini.
  3. À l'intérieur du bloc fonction (indiqué par l'indentation, mais pas nécessaire), nous utilisons le RETOUR mot-clé suivi du type de données que la fonction renvoie.
  4. La partie suivante définit le langage procédural de la fonction, dont le plus courant est le Plpgsql. Les autres fonctions procédurales postgresql comprennent Pltcl, plperl, plpython.
  5. Enfin, nous utilisons le symbole de signe double dollar pour initialiser la fonction. C'est là que nous déclarons les variables et la logique de fonction placée à l'intérieur des blocs de début et d'extrémité.

Vous pouvez en savoir plus sur les langages procéduraux PostgreSQL à partir des liens fournis ci-dessous:

  1. Plpgsql - Langue procédurale SQL
  2. Pltcl - Langue procédurale TCL
  3. Plperl - Langue procédurale perl
  4. Plpython - Langue procédurale python
  5. Pl externe - Autre distribution de PL à l'extérieur de POSQL

INDICE: Les fonctions personnalisées dans PostgreSQL sont étroitement similaires aux procédures. Cependant, contrairement aux procédures, les fonctions renvoient une valeur.

Exemple de fonction personnalisée

Illustrons une fonction simple qui récupère le nombre d'éléments qui correspondent à un critère simple.

Prenons la base de données Sakila, par exemple. Nous pouvons obtenir le nombre de films dont la valeur de location se situe entre 2 et 4 dollars.

Une fonction simple est:

Créer une fonction get_films (x int, y int)
Retourne int
Langue plpgsql
COMME
$$
DÉCLARER
num_films entier;
COMMENCER
Sélectionnez Count (*)
Dans num_films
Du film
Où location_rate entre x et y;
Return num_films;
FIN;
$$

Une fois que nous avons déclaré la fonction, nous pouvons l'appeler et passer les valeurs comme:

Sélectionnez get_films (2, 4) comme numéro_of_films;

Une fois que nous avons exécuté la requête ci-dessus, nous devrions obtenir le nombre de films qui correspondent aux critères ci-dessus.

Dans la plupart des cas, vous n'aurez pas besoin de définir de telles fonctions car il existe d'autres méthodes intégrées plus simples pour accomplir une telle tâche. Cela étant le cas, la fonction ci-dessus illustre comment travailler avec des fonctions.

Conclusion

Dans ce tutoriel, nous avons illustré des fonctions postgresql courantes pour aider à effectuer des tâches plus efficacement. Enfin, nous vous avons montré comment créer et utiliser des fonctions pour les exigences personnalisées.

Merci d'avoir lu et heureux d'expérimenter!