9. Fonctions et opérateurs

9.1. Opérateurs logiques
9.2. Opérateurs de comparaison
9.3. Fonctions et opérateurs mathématiques
9.4. Fonctions et opérateurs de chaînes
9.5. Fonctions et opérateurs de chaînes binaires
9.6. Fonctions et opérateurs sur les chaînes de bits
9.7. Correspondance de motif
9.8. Fonctions de formatage des types de données
9.9. Fonctions et opérateurs sur date/heure
9.10. Fonctions de support enum
9.11. Fonctions et opérateurs géométriques
9.12. Fonctions et opérateurs sur les adresses réseau
9.13. Fonctions et opérateurs de la recherche plein texte
9.14. Fonctions XML
9.15. Fonctions et opérateurs JSON
9.16. Fonctions de manipulation de séquences
9.17. Expressions conditionnelles
9.18. Fonctions et opérateurs de tableaux
9.19. Fonctions et opérateurs sur les données de type range
9.20. Fonctions d'agrégat
9.21. Fonctions Window
9.22. Expressions de sous-requêtes
9.23. Comparaisons de lignes et de tableaux
9.24. Fonctions retournant des ensembles
9.25. Fonctions d'informations système
9.26. Fonctions d'administration système
9.27. Fonctions trigger
9.28. Fonctions des triggers sur les événements

PostgreSQL™ fournit un grand nombre de fonctions et d'opérateurs pour les types de données intégrés. Les utilisateurs peuvent aussi définir leurs propres fonctions et opérateurs comme décrit dans la Partie V, « Programmation serveur ».

Les commandes \df et \do de psql sont utilisées pour afficher respectivement la liste des fonctions et des opérateurs.

Du point de vue de la portabilité, il faut savoir que la plupart des fonctions et opérateurs décrits dans ce chapitre, à l'exception des opérateurs arithmétiques et logiques les plus triviaux et de quelques fonctions spécifiquement indiquées, ne font pas partie du standard SQL. Quelques fonctionnalités étendues sont présentes dans d'autres systèmes de gestion de bases de données SQL et dans la plupart des cas, ces fonctionnalités sont compatibles et cohérentes à de nombreuses implantations. Ce chapitre n'est pas exhaustif ; des fonctions supplémentaires apparaissent dans les sections adéquates du manuel.

9.1. Opérateurs logiques

Opérateurs logiques habituels :

AND
OR
NOT

SQL utilise une logique booléenne à trois valeurs avec true, false et null qui représente « unknown » (inconnu). Les tables de vérité à considérer sont les suivantes :

a b a AND b a OR b
TRUE TRUE TRUE TRUE
TRUE FALSE FALSE TRUE
TRUE NULL NULL TRUE
FALSE FALSE FALSE FALSE
FALSE NULL FALSE NULL
NULL NULL NULL NULL
a NOT a
TRUE FALSE
FALSE TRUE
NULL NULL

Les opérateurs AND et OR sont commutatifs, la permutation des opérandes gauche et droit n'affecte pas le résultat. Voir la Section 4.2.14, « Règles d'évaluation des expressions » pour plus d'informations sur l'ordre d'évaluation des sous-expressions.