Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Expressions composées
Une expression composée est une série d’expressions simples jointes par des opérateurs arithmétiques. Une expression simple utilisée dans une expression composée doit retourner une valeur numérique.
Syntaxe
expression operator expression | (compound_expression)
Arguments
- expression
-
Une expression simple qui correspond à une valeur.
- opérateur
-
Une expression arithmétique composée peut être construite à l’aide des opérateurs suivants, en respectant l’ordre de priorité :
-
() : parenthèses pour contrôler l’ordre de l’évaluation
-
+,- : signe/opérateur positif et négatif
-
^ , |/ , || / : élévation à la puissance, racine carrée, racine cubique
-
*, /, % : multiplication, division et opérateurs modulo
-
@ : valeur absolue
-
+,- : addition et soustraction
-
&, |, #, ~, <<, >> :AND, OR,, décaler les opérateurs bit à gaucheNOT, décaler les opérateurs bit à droite
-
|| : concaténation
-
- (expression_composée)
-
Les expressions composées peuvent être imbriquées à l’aide de parenthèses.
Exemples
Voici quelques exemples d’expressions composées.
('SMITH' || 'JONES') sum(x) / y sqrt(256) * avg(column) rank() over (order by qtysold) / 100 (select (pricepaid - commission) from sales where dateid = 1882) * (qtysold)
Certaines fonctions peuvent également être imbriquées dans d’autres fonctions. Par exemple, une fonction scalaire peut être imbriquée dans une autre fonction scalaire. L’exemple suivant retourne la somme des valeurs absolues d’un ensemble de nombres :
sum(abs(qtysold))
Les fonctions de fenêtrage ne peuvent pas être utilisées comme arguments pour les fonctions d’agrégation ou d’autres fonctions de fenêtrage. L’expression suivante retourne une erreur :
avg(rank() over (order by qtysold))
Les fonctions de fenêtrage peuvent avoir une fonction d’agrégation imbriquée. L’expression suivante additionne des ensembles de valeurs, puis les classe :
rank() over (order by sum(qtysold))