Vue d’ensemble
UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64, Float32 ou Float64.
Avant d’effectuer l’opération, les deux opérandes sont convertis dans le type de résultat. Le type de résultat est déterminé comme suit (sauf indication contraire
dans la documentation de la fonction ci-dessous) :
- Si les deux opérandes font au plus 32 bits, la taille du type de résultat sera celle du type immédiatement supérieur au plus grand des deux
opérandes (promotion de la taille des entiers). Par exemple,
UInt8 + UInt16 = UInt32ouFloat32 * Float32 = Float64. - Si l’un des opérandes fait 64 bits ou plus, la taille du type de résultat sera la même que celle du plus grand des deux opérandes. Par
exemple,
UInt32 + UInt128 = UInt128ouFloat32 * Float64 = Float64. - Si l’un des opérandes est signé, le type de résultat le sera aussi, sinon il sera non signé. Par exemple,
UInt32 * Int32 = Int64ouUInt32 * UInt32 = UInt64.
abs
x. N’a aucun effet si x est de type non signé. Si x est de type signé, renvoie un nombre non signé.
Syntaxe
x— Valeur dont on veut obtenir la valeur absolue
x
Exemples
Exemple d’utilisation
Query
Response
avg2
x1, x2]— Accepte deux valeurs pour en calculer la moyenne.
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
byteSwap
- Convertissez l’entier en base 10 dans son équivalent au format hexadécimal en big-endian, c.-à-d. 3351772109 -> C7 C7 FB CD (4 octets)
- Inversez les octets, c.-à-d. C7 C7 FB CD -> CD FB C7 C7
- Reconvertissez le résultat en entier en supposant un format big-endian, c.-à-d. CD FB C7 C7 -> 3455829959 Un cas d’utilisation de cette fonction est l’inversion des adresses IPv4 :
x— Un nombre entier.(U)Int*
x avec l’ordre des octets inversé. (U)Int*
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
divide
a et b. Le type de résultat est toujours Float64.
La division entière est assurée par la fonction intDiv.
La division par
0 renvoie inf, -inf ou nan.x— Dividende -y— Diviseur
Query
Response
Query
Response
divideDecimal
result_scale (const Integer dans l’intervalle [0, 76]). Si elle n’est pas spécifiée, l’échelle du résultat correspond à l’échelle maximale des arguments fournis.
Cette fonction est nettement plus lente que
divide.
Si vous n’avez pas réellement besoin d’une précision contrôlée et/ou d’un calcul rapide, envisagez d’utiliser divide.x— Première valeur : Decimal. -y— Deuxième valeur : Decimal. -result_scale— Échelle du résultat. Type Int/UInt.
Decimal256
Exemples
Exemple 1
Query
Response
Query
Response
divideOrNull
divide, mais renvoie NULL en cas de division par zéro.
Syntaxe
x— Dividende -y— Diviseur
Query
Response
gcd
x— Premier entier -y— Deuxième entier
x et y.
Exemples
Exemple d’utilisation
Query
Response
ifNotFinite
isFinite(x) ? x : y.
Syntaxe
xsixest une valeur finie.ysixn’est pas une valeur finie.
Query
Response
intDiv
x par y. En d’autres termes, cette fonction
calcule le quotient arrondi à l’entier inférieur.
Le résultat a la même largeur que le dividende (le premier paramètre).
Une exception est levée en cas de division par zéro, lorsque le quotient ne tient pas
dans la plage de valeurs du dividende, ou lors de la division du plus petit nombre négatif par moins un.
Syntaxe
x— Opérande de gauche. -y— Opérande de droite.
x par y
Exemples
Division entière de deux nombres flottants
Query
Response
Query
Response
intDivOrNull
intDiv, mais renvoie NULL en cas de division par zéro ou lors de la division du plus petit nombre négatif par moins un.
Syntaxe
x par y, ou NULL.
Exemples
Division entière par zéro
Query
Response
Query
Response
intDivOrZero
intDiv, mais renvoie zéro en cas de division par zéro ou lors de la division du plus petit nombre négatif par moins un.
Syntaxe
Query
Response
Query
Response
isFinite
1 si l’argument Float32, Float64 ou BFloat16 n’est ni infini ni NaN,
sinon cette fonction renvoie 0.
Syntaxe
1 si x n’est ni infini ni NaN, sinon 0.
Exemples
Tester si un nombre est fini
Query
Response
isInfinite
1 si l’argument de type Float32, Float64 ou BFloat16 est infini ; sinon, cette fonction renvoie 0.
Notez que 0 est également renvoyé pour un NaN.
Syntaxe
1 si x est infini, sinon 0 (y compris pour NaN).
Exemples
Vérifier si un nombre est infini
Query
Response
isNaN
1 si l’argument de type Float32, Float64 ou BFloat16 est NaN, sinon 0.
Syntaxe
1 si NaN, sinon 0
Exemples
Exemple d’utilisation
Query
Response
lcm
x et y.
Une exception est levée en cas de division par zéro ou lors de la division du plus petit nombre négatif par moins un.
Syntaxe
x et y. (U)Int*
Exemples
Exemple d’utilisation
Query
Response
max2
x et y.
Syntaxe
x— Première valeur(U)Int8/16/32/64,Float*ouDecimaly— Deuxième valeur(U)Int8/16/32/64,Float*ouDecimal
x et y. Float64
Exemples
Exemple d’utilisation
Query
Response
midpoint
x1[, x2, ...]— Accepte une valeur unique ou plusieurs valeurs pour en calculer la moyenne.
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
min2
x et y.
Syntaxe
x— Première valeur(U)Int8/16/32/64ouFloat*ouDecimaly— Deuxième valeur(U)Int8/16/32/64ouFloat*ouDecimal
x et y. Float64
Exemples
Exemple d’utilisation
Query
Response
minus
a et b. Le résultat est toujours signé.
Comme avec plus, il est possible de soustraire un entier à une date ou à une date avec heure.
En outre, la soustraction entre des dates avec heure est prise en charge, ce qui produit la différence de temps entre elles.
Syntaxe
x— Diminuende. -y— Soustrahende.
Query
Response
Query
Response
modulo
mod
Arguments
a— Le dividende -b— Le diviseur (modulo)
Query
Response
moduloLegacy
% de C++, ce qui peut produire des résultats négatifs lorsque les arguments sont négatifs. Cette fonction existe pour assurer la rétrocompatibilité avec l’ancienne logique de partitionnement des tables. Utilisez modulo ou positiveModulo pour obtenir le comportement standard.
Syntaxe
(U)Int* ou Float*
Exemples
Utilisation de base
Query
Response
moduloOrNull
a par b. Comme la fonction modulo, sauf que moduloOrNull renvoie NULL
si l’argument de droite est 0.
Syntaxe
modOrNull
Arguments
Valeur renvoyée
Renvoie le reste de la division de x par y, ou NULL si le diviseur est égal à zéro.
Exemples
moduloOrNull avec zéro
Query
Response
moduloOrZero
a % b, ou 0 lorsque le diviseur est 0.
Exemples
Exemple d’utilisation
Query
Response
multiply
x et y.
Syntaxe
Query
Response
multiplyDecimal
result_scale (constante entière dans l’intervalle [0, 76]). Si elle n’est pas spécifiée, la scale du résultat correspond à la scale maximale des arguments fournis.
Ces fonctions sont nettement plus lentes que
multiply.
Si vous n’avez pas réellement besoin d’une précision contrôlée et/ou d’un calcul rapide, envisagez d’utiliser multiplya— Première valeur.Decimalb— Deuxième valeur.Decimalresult_scale— Échelle du résultat.(U)Int*
Decimal256
Exemples
Exemple d’utilisation
Query
Response
Query
Response
Query
Response
negate
x. Le résultat est toujours de type signé.
Syntaxe
x— La valeur à opposer.
Query
Response
plus
x et y. Alias : x + y (opérateur).
Il est possible d’additionner un entier et une date ou une date avec heure. La première
opération incrémente le nombre de jours de la date, la seconde
incrémente le nombre de secondes de la date avec heure.
Il est également possible d’additionner une date et une heure. L’addition d’un Date et d’un Time
produit un DateTime. L’addition d’un Date et d’un Time64, ou d’un Date32 et
d’un Time ou Time64, produit un DateTime64.
Syntaxe
x— Opérande de gauche. -y— Opérande de droite.
Query
Response
Query
Response
Query
Response
positiveModulo
x par y. Comme la fonction
modulo, à ceci près que positiveModulo renvoie toujours un nombre non négatif.
Syntaxe
positive_modulo, pmod
Arguments
x— Le dividende.(U)Int*ouFloat*ouDecimaly— Le diviseur (modulo).(U)Int*ouFloat*ouDecimal
x et le plus grand entier inférieur ou égal à
x divisible par y.
Exemples
Exemple d’utilisation
Query
Response
positiveModuloOrNull
a par b. Similaire à la fonction positiveModulo, à ceci près que positiveModuloOrNull renvoie NULL
si l’argument de droite est 0.
Syntaxe
positive_modulo_or_null, pmodOrNull
Arguments
x— Le dividende.(U)Int*/Float32/64. -y— Le diviseur (modulo).(U)Int*/Float32/64.
x et le plus grand entier inférieur ou égal à
x divisible par y, null si le diviseur est égal à zéro.
Exemples
positiveModuloOrNull
Query
Response