Ce chapitre couvre les éléments qui sont communs à toutes les implémentations du langage SQL — les expressions qui sont utilisées pour récupérer et opérer sur les déclarations de données, et les prédicats qui vérifient la vérité de ces déclarations.
Ce chapitre couvre les éléments qui sont communs à toutes les implémentations du langage SQL — les expressions qui sont utilisées pour récupérer et opérer sur les déclarations de données, et les prédicats qui vérifient la vérité de ces déclarations.
Les expressions SQL représentent des méthodes formelles de calcul, de transformation et de comparaison de valeurs.Les expressions SQL peuvent inclure des colonnes de table, des variables, des constantes, des littéraux, divers opérateurs et prédicats, ainsi que d’autres expressions.Une liste complète des tokens autorisés dans les expressions est décrite ci-dessous.
Nom de la colonne: :Identifiants de colonne des tables spécifiées utilisées dansdes calculs ou des comparaisons, ou comme condition de recherche. La colonnede type tableau ne peut pas être un élément d’une expression, sauf s’il estest vérifié pour IS [NOT] NULL
.
Éléments du tableau : :Une expression peut contenir une référence à un élément de tableau, c’est-à-dire <nom_du_tableau>[s]
, où s — l’indice de l’élément dans le tableau.
Opérateurs arithmétiques: :Symboles +
, -
, *
, /
utilisés pour calculer les valeurs.
Opérateur de concaténation : :L’opérateur ||
("deux lignes verticales") est utilisé pour joindre des chaînes de caractères.
Opérateurs logiques : :Les mots réservés NOT
, AND
et OR
sont utilisés lorsqu’en combinant des termes de recherche simples pour créer des déclarations complexes.
Symboles =
, <>
, !=
, ~=
, ^=
, <
, <=
, >
, >=
, !<
, ~<
, ^<
, !>
, ~>
et ^>
LIKE
, STARTING WITH
, CONTAINING
, SIMILAR TO
, BETWEEN
, IS [NOT]NULL
, IS [NOT] {TRUE | FALSE | UNKNOWN}
, et IS [NOT] DISTINCT FROM
Prédicats d’existence : :Prédicats utilisés pour vérifier l’existence de valeurs dans un ensemble.set. Le prédicat IN peut être utilisé avec les deux ensembles de constantes,et avec des sous-requêtes scalaires. Les prédicats EXISTS, SINGULAR, ALL.ANY, SOME ne peuvent être utilisés qu’avec des sous-requêtes.
Constantes et littéraux: :Les nombres, les chaînes de caractères encapsulées par une apostrophe, les chaînes de caractères logiques, etc.valeurs TRUE
, FALSE
et UNKNOWN
, NULL
pseudo-définition.
Les littéraux de date et d’heure: :Les expressions similaires aux littéraux de chaîne de caractères inclus dansdes apostrophes qui peuvent être interprétées comme une date,des valeurs de temps ou de date. Les littéraux de date peuvent être des chaînes dedes caractères et des chiffres, tels que TIMESTAMP '25.12.2016'.15:30:35'
, qui peut être converti en date, heureou la date avec l’heure.
Les mnémoniques de la date et de l’heure: :Chaîne littérale décrivant la valeur de la date et/ou de l’heure souhaitée.l’heure, qui peut être amenée au type de date et/ou d’heure. Pourexemples "NOW", "TODAY".
Construit dans variables de contexte.
Variables locales, paramètres d’entrée ou de sortie des modules PSQL(procédures stockées, déclencheurs, blocs PSQL anonymes).
En DSQL, seuls les paramètres positionnels peuvent être utilisés comme paramètres de requête. Les paramètres de position sont les points d’interrogation ( ?) dans une déclaration DSQL. Ces paramètres sont accessibles par leur numéro (la position dans la requête) par rapport au paramètre de positionnement précédent, ils sont donc appelé positionnel. En général, les composants d’accès permettent detravailler avec des paramètres nommés, qui sont eux-mêmes converti en paramètres de position.
L’instruction SELECT entre parenthèses, qui renvoieune valeur unique (scalaire) ou un ensemble de valeurs (lorsqueutilisés dans les prédicats d’existence).
Identificateurs des fonctions intégrées ou externes dans les fonctionsexpressions.
Expression de conversion explicite d’un type de données à un autre en utilisant CAST
commeCAST(<value> AS <datatype>)
.
Expression CASE
et fonctions intégrées COALESCE
, NULLIF
.
Une paire de parenthèses ( … ) est utilisée pour regrouper des expressions.Les opérations à l’intérieur des parenthèses sont effectuées avant les opérations à l’extérieur des parenthèses. Lorsqu’en utilisant des parenthèses imbriquées, les valeurs des expressions les plus internes sont calculées en premier, puis le calcul est déplacé vers le haut.d’abord les expressions internes, puis le calcul est déplacé vers le haut par le biais deniveaux de nidification.
Propriété COLLATE
: :La déclaration s’applique aux types CHAR
et VARCHAR
pour définir les paramètres de tri utilisés dans la comparaison.
NEXT VALUE FOR sequence
Le constructeur NEXT VALUE FOR
permet d’obtenir la valeur suivantede la séquence, la même chose est faite par la fonction intégrée GEN_ID()
.
AT
Expression permettant de modifier le fuseau horaire de la date et de l’heure.