FirebirdSQL logo

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.

Expressions

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.

Description des éléments linguistiques

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.

Opérateurs de comparaison

Symboles =, <>, !=, ~=, ^=, <, <=, >, >=, !<, ~<, ^<, !>, ~> et ^>

Prédicats de comparaison

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".

Variables contextuelles

Construit dans variables de contexte.

Variables locales

Variables locales, paramètres d’entrée ou de sortie des modules PSQL(procédures stockées, déclencheurs, blocs PSQL anonymes).

Paramètres de position

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.

Sous-requêtes

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 de fonction

Identificateurs des fonctions intégrées ou externes dans les fonctionsexpressions.

Conversions de type

Expression de conversion explicite d’un type de données à un autre en utilisant CAST commeCAST(<value> AS <datatype>).

Expressions conditionnelles

Expression CASE et fonctions intégrées COALESCE, NULLIF.

Entre parenthèses

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().

Expression AT

Expression permettant de modifier le fuseau horaire de la date et de l’heure.