Fonctions mathématiques

Toutes les fonctions mathématiques se comportent de la façon suivante :

  • Elles renvoient NULL si l'un des paramètres d'entrée est NULL.
  • Elles renvoient NaN si l'un des arguments est NaN.

ABS

ABS(X)

Description

Calcule la valeur absolue. Renvoie une erreur si l'argument est un entier et que la valeur de sortie ne peut pas être représentée avec le même type. Cela ne peut se produire que pour la plus grande valeur d'entrée négative, qui n'a pas de représentation positive.

X ABS(X)
25 25
-25 25
+inf +inf
-inf +inf

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATINT64NUMERICFLOAT64

SIGN

SIGN(X)

Description

Renvoie respectivement -1, 0 ou +1 pour les arguments "négatif", "zéro" et "positif". Pour les arguments à virgule flottante, cette fonction ne fait pas la distinction entre zéro positif et zéro négatif.

X SIGN(X)
25 +1
0 0
-25 -1
NaN NaN

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATINT64NUMERICFLOAT64

IS_INF

IS_INF(X)

Description

Renvoie TRUE si la valeur correspond à l'infini positif ou négatif.

Renvoie FALSE pour les entrées NUMERIC, car le type NUMERIC ne peut pas être INF.

X IS_INF(X)
+inf TRUE
-inf TRUE
25 FALSE

IS_NAN

IS_NAN(X)

Description

Renvoie TRUE si la valeur est une valeur NaN.

Renvoie FALSE pour les entrées NUMERIC, car le type NUMERIC ne peut pas être NaN.

X IS_NAN(X)
NaN TRUE
25 FALSE

IEEE_DIVIDE

IEEE_DIVIDE(X, Y)

Description

Divise X par Y ; cette fonction n'échoue jamais. Renvoie une valeur FLOAT64. Contrairement à l'opérateur de division (/), cette fonction ne génère pas d'erreur en cas de division par zéro ou de débordement.

X O IEEE_DIVIDE(X, Y)
20.0 4.0 5,0
0,0 25,0 0,0
25,0 0,0 +inf
-25,0 0,0 -inf
0,0 0,0 NaN
0,0 NaN NaN
NaN 0,0 NaN
+inf +inf NaN
-inf -inf NaN

SQRT

SQRT(X)

Description

Calcule la racine carrée de X. Génère une erreur si X est inférieur à 0.

X SQRT(X)
25.0 5.0
+inf +inf
X < 0 Erreur

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATFLOAT64NUMERICFLOAT64

POW

POW(X, Y)

Description

Renvoie la valeur de X élevée à la puissance Y. Si le résultat est insuffisant et qu'il n'est pas représentable, la fonction renvoie une valeur "zéro".

X O POW(X, Y)
2.0 3,0 8.0
1.0 Toute valeur, y compris NaN 1.0
Toute valeur, y compris NaN 0 1,0
-1,0 +inf 1.0
-1,0 -inf 1,0
ABS(X) < 1 -inf +inf
ABS(X) > 1 -inf 0,0
ABS(X) < 1 +inf 0,0
ABS(X) > 1 +inf +inf
-inf Y < 0 0,0
-inf Y > 0 -inf si Y est un entier impair, +inf dans le cas contraire
+inf Y < 0 0
+inf Y > 0 +inf
Valeur finie < 0 Non entier Erreur
0 Valeur finie < 0 Erreur

Type de données renvoyé

Le type de données renvoyé est déterminé par les types des arguments à l'aide du tableau suivant.

ENTRÉEINT64NUMERICFLOAT64
INT64FLOAT64NUMERICFLOAT64
NUMERICNUMERICNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64

POWER

POWER(X, Y)

Description

Synonyme de POW(X, Y).

EXP

EXP(X)

Description

Calcule e à la puissance X. Cette fonction est également appelée "fonction exponentielle naturelle". Si le résultat est insuffisant, cette fonction renvoie un zéro. Elle génère une erreur si le résultat déborde.

X EXP(X)
0,0 1.0
+inf +inf
-inf 0,0

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATFLOAT64NUMERICFLOAT64

LN

LN(X)

Description

Calcule le logarithme népérien de X. Génère une erreur si X est inférieur ou égal à zéro.

X LN(X)
1.0 0,0
+inf +inf
X < 0 Erreur

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATFLOAT64NUMERICFLOAT64

LOG

LOG(X [, Y])

Description

Si seul X est présent, LOG est un synonyme de LN. Si Y est également présent, LOG calcule le logarithme de X en base Y.

X Y LOG(X, Y)
100,0 10,0 2.0
-inf Toute valeur NaN
Toute valeur +inf NaN
+inf 0,0 < Y < 1,0 -inf
+inf Y > 1,0 +inf
X <= 0 Toute valeur Erreur
Toute valeur Y <= 0 Erreur
Toute valeur 1.0 Erreur

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
INT64FLOAT64NUMERICFLOAT64
NUMERICNUMERICNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64

LOG10

LOG10(X)

Description

Identique à LOG, mais calcule le logarithme en base 10.

X LOG10(X)
100,0 2.0
-inf NaN
+inf NaN
X <= 0 Erreur

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATFLOAT64NUMERICFLOAT64

GREATEST

GREATEST(X1,...,XN)

Description

Renvoie la plus grande valeur parmi "X1,...,XN" (identifiée à l'aide de la comparaison "<"). Si une partie de X1,...,XN est NULL, la valeur renvoyée est NULL.

X1,...,XN GREATEST(X1,...,XN)
3,5,1 5

Type de données renvoyé

Type de données des valeurs d'entrée

LEAST

LEAST(X1,...,XN)

Description

Renvoie la plus petite valeur parmi "X1,...,XN" (identifiée à l'aide de la comparaison ">"). Si une partie de X1,...,XN est NULL, la valeur renvoyée est NULL.

X1,...,XN LEAST(X1,...,XN)
3,5,1 1

Type de données renvoyé

Type de données des valeurs d'entrée

DIV

DIV(X, Y)

Description

Renvoie le résultat de la division d'un entier X par un entier Y. Une division par zéro renvoie une erreur. Une division par -1 peut entraîner un débordement. Si les deux entrées sont NUMERIC et que le résultat déborde, la fonction renvoie une erreur numeric overflow.

X O DIV(X, Y)
20 4 5
0 20 0
20 0 Erreur

Type de données renvoyé

Le type de données renvoyé est déterminé par les types des arguments à l'aide du tableau suivant.

ENTRÉEINT64NUMERIC
INT64INT64NUMERIC
NUMERICNUMERICNUMERIC

SAFE_DIVIDE

SAFE_DIVIDE(X, Y)

Description

Équivaut à l'opérateur de division (X / Y), mais renvoie NULL si une erreur se produit, par exemple une erreur de division par zéro.

XOSAFE_DIVIDE(X, Y)
2045
0200
200NULL

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
INT64FLOAT64NUMERICFLOAT64
NUMERICNUMERICNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64

SAFE_MULTIPLY

SAFE_MULTIPLY(X, Y)

Description

Équivaut à l'opérateur de multiplication (*), mais renvoie NULL si un débordement se produit.

XOSAFE_MULTIPLY(X, Y)
20480

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
INT64INT64NUMERICFLOAT64
NUMERICNUMERICNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64

SAFE_NEGATE

SAFE_NEGATE(X)

Description

Équivaut à l'opérateur moins unaire (-), mais renvoie NULL en cas de débordement.

XSAFE_NEGATE(X)
+1-1
-1+1
00

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATINT64NUMERICFLOAT64

SAFE_ADD

SAFE_ADD(X, Y)

Description

Équivaut à l'opérateur d'addition (+), mais renvoie NULL en cas de débordement.

XOSAFE_ADD(X, Y)
549

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
INT64INT64NUMERICFLOAT64
NUMERICNUMERICNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64

SAFE_SUBTRACT

SAFE_SUBTRACT(X, Y)

Description

Renvoie le résultat de Y soustrait de X. Équivaut à l'opérateur de soustraction (-), mais renvoie NULL en cas de débordement.

XOSAFE_SUBTRACT(X, Y)
541

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
INT64INT64NUMERICFLOAT64
NUMERICNUMERICNUMERICFLOAT64
FLOAT64FLOAT64FLOAT64FLOAT64

MOD

MOD(X, Y)

Description

Fonction modulo : renvoie le reste de la division de X par Y. La valeur renvoyée a le même signe que X. Une erreur est générée si Y est égal à 0.

X O MOD(X, Y)
25 12 1
25 0 Erreur

Type de données renvoyé

Le type de données renvoyé est déterminé par les types des arguments à l'aide du tableau suivant.

ENTRÉEINT64NUMERIC
INT64INT64NUMERIC
NUMERICNUMERICNUMERIC

ARRONDI

ROUND(X [, N])

Description

Si seul X est présent, ROUND arrondit X au nombre entier le plus proche. Si N est présent, ROUND arrondit X à N décimales après la virgule. Si N est négatif, ROUND arrondit les chiffres à gauche de la virgule. Cette fonction arrondit les cas à mi-chemin à la valeur la plus éloignée de zéro. Cette fonction génère une erreur en cas de débordement.

X ROUND(X)
2.0 2,0
2,3 2.0
2,8 3,0
2.5 3,0
-2,3 -2,0
-2,8 -3,0
-2,5 -3,0
0 0
+inf +inf
-inf -inf
NaN NaN

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATFLOAT64NUMERICFLOAT64

TRUNC

TRUNC(X [, N])

Description

Si seul X est présent, TRUNC arrondit X au nombre entier le plus proche dont la valeur absolue n'est pas supérieure à celle de X. Si N est également présent, la fonction TRUNC se comporte comme ROUND(X, N), mais elle arrondit toujours en direction de zéro et ne déborde jamais.

X TRUNC(X)
2.0 2,0
2,3 2.0
2.8 2.0
2.5 2.0
-2,3 -2,0
-2,8 -2,0
-2,5 -2,0
0 0
+inf +inf
-inf -inf
NaN NaN

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATFLOAT64NUMERICFLOAT64

CEIL

CEIL(X)

Description

Renvoie la plus petite valeur intégrale parmi celles qui ne sont pas inférieures à X.

X CEIL(X)
2.0 2,0
2,3 3,0
2.8 3,0
2.5 3,0
-2,3 -2,0
-2,8 -2,0
-2,5 -2,0
0 0
+inf +inf
-inf -inf
NaN NaN

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATFLOAT64NUMERICFLOAT64

CEILING

CEILING(X)

Description

Synonyme de CEIL(X)

FLOOR

FLOOR(X)

Description

Renvoie la plus grande valeur intégrale parmi celles qui ne sont pas supérieures à X.

X FLOOR(X)
2,0 2,0
2,3 2.0
2.8 2.0
2.5 2.0
-2,3 -3,0
-2,8 -3,0
-2,5 -3,0
0 0
+inf +inf
-inf -inf
NaN NaN

Type de données renvoyé

ENTRÉEINT64NUMERICFLOAT64
RÉSULTATFLOAT64NUMERICFLOAT64

COS

COS(X)

Description

Calcule le cosinus de X où X est spécifié en radians. Cette fonction n'échoue jamais.

X COS(X)
+inf NaN
-inf NaN
NaN NaN

COSH

COSH(X)

Description

Calcule le cosinus hyperbolique de X où X est spécifié en radians. Cette fonction génère une erreur en cas de débordement.

Si X est de type NUMERIC, le résultat est FLOAT64.

X COSH(X)
+inf +inf
-inf +inf
NaN NaN

ACOS

ACOS(X)

Description

Calcule la valeur principale du cosinus inverse de X. La valeur renvoyée est comprise dans l'intervalle [0, π]. Cette fonction génère une erreur si X se situe en dehors de la plage [-1, 1].

Si X est de type NUMERIC, le résultat est FLOAT64.

X ACOS(X)
+inf NaN
-inf NaN
NaN NaN
X < -1 Erreur
X > 1 Erreur

ACOSH

ACOSH(X)

Description

Calcule le cosinus hyperbolique inverse de X. Cette fonction génère une erreur si X est une valeur inférieure à 1.

Si X est de type NUMERIC, le résultat est FLOAT64.

X ACOSH(X)
+inf +inf
-inf NaN
NaN NaN
X < 1 Erreur

SIN

SIN(X)

Description

Calcule le sinus de X où X est spécifié en radians. Cette fonction n'échoue jamais.

X SIN(X)
+inf NaN
-inf NaN
NaN NaN

SINH

SINH(X)

Description

Calcule le sinus hyperbolique de X où X est spécifié en radians. Cette fonction génère une erreur en cas de débordement.

Si X est de type NUMERIC, le résultat est FLOAT64.

X SINH(X)
+inf +inf
-inf -inf
NaN NaN

ASIN

ASIN(X)

Description

Calcule la valeur principale du sinus inverse de X. La valeur renvoyée se situe dans la plage [-π/2, π/2]. Cette fonction génère une erreur si X se situe en dehors de la plage [-1, 1].

Si X est de type NUMERIC, le résultat est FLOAT64.

X ASIN(X)
+inf NaN
-inf NaN
NaN NaN
X < -1 Erreur
X > 1 Erreur

ASINH

ASINH(X)

Description

Calcule le sinus hyperbolique inverse de X. Cette fonction n'échoue pas.

Si X est de type NUMERIC, le résultat est FLOAT64.

X ASINH(X)
+inf +inf
-inf -inf
NaN NaN

TAN

TAN(X)

Description

Calcule la tangente de X où X est spécifié en radians. Cette fonction génère une erreur en cas de débordement.

X TAN(X)
+inf NaN
-inf NaN
NaN NaN

TANH

TANH(X)

Description

Calcule la tangente hyperbolique de X où X est spécifié en radians. Cette fonction n'échoue pas.

Si X est de type NUMERIC, le résultat est FLOAT64.

X TANH(X)
+inf 1.0
-inf -1,0
NaN NaN

ATAN

ATAN(X)

Description

Calcule la valeur principale de la tangente inverse de X. La valeur renvoyée se situe dans la plage [-π/2, π/2]. Cette fonction n'échoue pas.

Si X est de type NUMERIC, le résultat est FLOAT64.

X ATAN(X)
+inf π/2
-inf -π/2
NaN NaN

ATANH

ATANH(X)

Description

Calcule la tangente hyperbolique inverse de X. Génère une erreur si X se situe en dehors de la plage [-1, 1].

Si X est de type NUMERIC, le résultat est FLOAT64.

X ATANH(X)
+inf NaN
-inf NaN
NaN NaN
X < -1 Erreur
X > 1 Erreur

ATAN2

ATAN2(X, Y)

Description

Calcule la valeur principale de la tangente inverse de Y/X en utilisant les signes des deux arguments pour déterminer le quadrant. La valeur renvoyée se situe dans la plage [-π,π].

Si X est de type NUMERIC, le résultat est FLOAT64.

X O ATAN2(X, Y)
NaN Toute valeur NaN
Toute valeur NaN NaN
0,0 0,0 0,0
Valeur finie positive -inf π
Valeur finie négative -inf
Valeur finie +inf 0,0
+inf Valeur finie π/2
-inf Valeur finie -π/2
+inf -inf ¾π
-inf -inf -¾π
+inf +inf π/4
-inf +inf -π/4