Table des matières:
- Expressions de valeur de chaîne
- Expressions de valeur numérique
- Expressions de valeur Datetime
- Expressions de valeur d'intervalle
- Expressions de valeur conditionnelle
Vidéo: SQL Select 2025
Une expression SQL peut être simple ou complexe. L'expression peut contenir des valeurs littérales, des noms de colonnes, des paramètres, des variables hôtes, des sous-requêtes, des connecteurs logiques et des opérateurs arithmétiques. Indépendamment de sa complexité, une expression doit être réduite à une seule valeur.
Pour cette raison, les expressions SQL sont communément appelées expressions de valeur . Il est possible de combiner plusieurs expressions de valeur en une seule expression, à condition que les expressions de valeur de composant se réduisent à des valeurs ayant des types de données compatibles.
SQL a cinq types d'expressions de valeur:
-
expressions de valeur de chaîne
-
expressions de valeur numérique
-
expressions de valeur de datetime
-
expressions de valeur d'intervalle
-
expressions de valeur conditionnelle
Expressions de valeur de chaîne
L'expression de chaîne de caractères la plus simple spécifie une valeur de chaîne unique. Les autres possibilités incluent une référence de colonne, une fonction set, une sous-requête scalaire, une expression CASE, une expression CAST ou une expression de valeur de chaîne complexe.
Un seul opérateur est possible dans une expression de valeur de chaîne: l'opérateur de concaténation . Vous pouvez concaténer l'une des expressions de valeur avec une autre expression pour créer une expression de valeur de chaîne plus complexe. Une paire de lignes verticales (||) représente l'opérateur de concaténation. Le tableau suivant montre quelques exemples d'expressions de valeur de chaîne.
Expression | Produit |
---|---|
'Cacahuète' ||
'cassant' |
'Cacahuète' |
'Gelée' || "||
'Haricots' |
' Jelly beans ' |
FIRST_NAME || "||
LAST_NAME |
' Joe Smith ' |
B'1100111' ||
B'01010011 ' |
' 110011101010011 ' |
" |
'Asperges' |
'Asperges' |
'Asperges' ||
" |
'Asperges' |
'As' ||" ||
'par' || "|| 'agus' |
'Asperges' |
Si vous concaténez une chaîne en une chaîne de longueur nulle, le résultat est le même que la chaîne d'origine.
Expressions de valeur numérique
Dans les expressions de valeur numérique , , vous pouvez appliquer les opérateurs d'addition, de soustraction, de multiplication et de division aux données de type numérique. L'expression doit être réduite à une valeur numérique. Les composants d'une expression de valeur numérique peuvent être de types de données différents tant que tous les types de données sont numériques.
Le type de données du résultat dépend des types de données des composants dont vous dérivez le résultat. Malgré cela, le standard SQL ne spécifie pas de manière rigide le type résultant d'une combinaison spécifique de composants d'expression source. C'est à cause des différences entre les plates-formes matérielles.Consultez la documentation de votre plate-forme spécifique lorsque vous mélangez des types de données numériques.
Voici quelques exemples d'expressions de valeurs numériques:
-
-27
-
49 + 83
-
5 * (12 - 3)
-
PROTEINE + GRAISSE + CARBOHYDRATANT
-
PIEDS / 5280
-
COST *: multiplierA
Expressions de valeur Datetime
Les expressions de valeur Datetime effectuent des opérations sur des données qui traitent des dates et des heures. Ces expressions de valeur peuvent contenir des composants de type DATE, TIME, TIMESTAMP ou INTERVAL. Le résultat d'une expression de valeur datetime est toujours un type datetime (DATE, TIME ou TIMESTAMP). L'expression suivante, par exemple, donne la date dans une semaine:
CURRENT_DATE + INTERVAL '7' DAY
Les heures sont maintenues en temps universel coordonné (UTC) - connu au Royaume-Uni en tant que temps moyen de Greenwich - mais vous peut spécifier un décalage pour rendre l'heure correcte pour un fuseau horaire particulier. Pour le fuseau horaire local de votre système, vous pouvez utiliser la syntaxe simple donnée dans l'exemple suivant:
TIME '22: 55: 00 'AT LOCAL
Vous pouvez également spécifier cette valeur dans le sens long:
TIME '22: 55: 00 'AU TEMPS INTERVALLE' -08. 00 'HOUR TO MINUTE
Cette expression définit l'heure locale comme le fuseau horaire de Portland, Oregon, qui est huit heures plus tôt que celui de Greenwich, Angleterre.
Expressions de valeur d'intervalle
Si vous soustrayez un datetime d'un autre, vous obtenez un intervalle . Ajouter une datetime à une autre n'a aucun sens, donc SQL ne vous permet pas de le faire. Si vous ajoutez deux intervalles ou soustrayez un intervalle d'un autre intervalle, le résultat est un intervalle. Vous pouvez également multiplier ou diviser un intervalle par une constante numérique.
SQL a deux types d'intervalles: année-mois et jour. Pour éviter les ambiguïtés, vous devez spécifier les éléments à utiliser dans une expression d'intervalle. L'expression suivante, par exemple, donne l'intervalle en années et en mois jusqu'à l'âge de la retraite:
(ANNIVERSAIRE_65 - CURRENT_DATE) ANNÉE À MOIS
L'exemple suivant donne un intervalle de 40 jours:
INTERVAL '17 'JOUR + INTERVALLE' 23 'JOUR
L'exemple suivant donne un nombre approximatif de mois où une mère de cinq enfants a été enceinte (en supposant qu'elle n'attend pas actuellement le numéro six!):
INTERVAL' 9 'MOIS * 5
Les intervalles peuvent être négatifs aussi bien que positifs et peuvent consister en n'importe quelle expression de valeur ou combinaison d'expressions de valeur qui évalue à un intervalle.
Expressions de valeur conditionnelle
La valeur d'une expression de valeur conditionnelle dépend d'une condition. Les expressions de valeur conditionnelle CASE, NULLIF et COALESCE sont significativement plus complexes que les autres types d'expressions de valeur.
