Chapitre 9. Fonctions et opérateurs

Table des matières
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. Correspondance de modèles
9.6.1. LIKE
9.6.2. Expressions rationnelles SIMILAR TO et SQL99
9.6.3. Expressions rationnelles POSIX
9.7. Fonctions de formatage des types de données
9.8. Fonctions et opérateurs pour date/heure
9.8.1. EXTRACT, date_part
9.8.2. date_trunc
9.8.3. AT TIME ZONE
9.8.4. Date/Heure courante
9.9. Fonctions et opérateurs géométriques
9.10. Fonctions pour le type des adresses réseau
9.11. Fonctions de manipulation de séquence
9.12. Expressions conditionnelles
9.12.1. CASE
9.12.2. COALESCE
9.12.3. NULLIF
9.13. Fonctions diverses
9.14. Fonctions et opérateurs sur les tableaux
9.15. Fonctions d'agrégat
9.16. Expressions de sous-expressions
9.16.1. EXISTS
9.16.2. IN
9.16.3. NOT IN
9.16.4. ANY/SOME
9.16.5. ALL
9.16.6. Comparaison de lignes complètes
9.17. Comparaisons de lignes et de tableaux
9.17.1. IN
9.17.2. NOT IN
9.17.3. ANY/SOME (array)
9.17.4. ALL (array)
9.17.5. Comparaison sur des lignes complètes

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 Partie V. Les commandes \df et \do de psql sont utilisées pour afficher respectivement la liste de toutes les fonctions et de tous les opérateurs.

Si la portabilité vous concerne, prenez note 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 quelques fonctions spécifiquement indiquées, ne font pas partie du standard SQL. Quelques-unes des 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 implémentations.

9.1. Opérateurs logiques

Voici la liste des opérateurs logiques habituels :

AND
OR
NOT

SQL utilise une logique booléenne à trois valeurs et où la valeur NULL représente << inconnu >>. Observez les tables de vérité suivantes :

aba AND ba OR b
TRUETRUETRUETRUE
TRUEFALSEFALSETRUE
TRUENULLNULLTRUE
FALSEFALSEFALSEFALSE
FALSENULLFALSENULL
NULLNULLNULLNULL

aNOT a
TRUEFALSE
FALSETRUE
NULLNULL

Les opérateurs AND et OR sont commutatifs, c'est-à-dire que l'échange des opérandes gauche et droit n'affecte pas le résultat. Mais, voir Section 4.2.11 pour plus d'informations sur l'ordre d'évaluation des sous-expressions.