Tous les produits
Search
Centre de documentation

AnalyticDB:Fonctions numériques

Dernière mise à jour :Aug 10, 2026

AnalyticDB for MySQL prend en charge les fonctions numériques suivantes pour les opérations arithmétiques, d'arrondi, trigonométriques, logarithmiques et autres calculs mathématiques sur des données numériques.

Index des fonctions

Catégorie Fonction Description
Arithmétique ABS Renvoie la valeur absolue
SIGN Renvoie le signe d'un nombre
SQRT Renvoie la racine carrée
EXP Renvoie e élevé à la puissance x
POWER / POW Renvoie x élevé à la puissance y
CRC32 Renvoie la valeur de contrôle de redondance cyclique (CRC)
Arrondi CEILING / CEIL Arrondit à l'entier supérieur le plus proche
FLOOR Arrondit à l'entier inférieur le plus proche
ROUND Arrondit à un nombre spécifié de décimales
Trigonométrie SIN Renvoie le sinus
COS Renvoie le cosinus
TAN Renvoie la tangente
COT Renvoie la cotangente
ASIN Renvoie l'arc sinus
ACOS Renvoie l'arc cosinus
ATAN Renvoie l'arc tangente
ATAN2 Renvoie l'arc tangente de x/y
DEGREES Convertit les radians en degrés
RADIANS Convertit les degrés en radians
PI Renvoie la valeur de pi
Logarithme LN Renvoie le logarithme naturel
LOG Renvoie le logarithme naturel ou le logarithme dans une base spécifiée
LOG2 Renvoie le logarithme en base 2
LOG10 Renvoie le logarithme en base 10
Aléatoire RAND Renvoie un nombre à virgule flottante aléatoire

ABS

abs(expr)

Renvoie la valeur absolue de expr.

Arguments

  • expr : expression numérique. Types acceptés : TINYINT, SMALLINT, INT, BIGINT, DOUBLE, FLOAT ou DECIMAL.

Type de retour

Type d'entrée Type de retour
TINYINT, SMALLINT, INT, BIGINT BIGINT
DOUBLE, FLOAT DOUBLE
DECIMAL DECIMAL

Exemples

SELECT abs(4.5);
+----------+
| abs(4.5) |
+----------+
|      4.5 |
+----------+
SELECT abs(-4);
+--------+
| abs(4) |
+--------+
|      4 |
+--------+

ACOS

acos(expr)

Renvoie l'arc cosinus de expr, en radians.

Arguments

  • expr : valeur DOUBLE. Doit être comprise dans l'intervalle [-1, 1].

Type de retour : DOUBLE.

Notes d'utilisation

  • Si expr est supérieur à 1 ou inférieur à -1, la fonction renvoie NULL.

Exemple

SELECT acos(0.5);
+--------------------+
| acos(0.5)          |
+--------------------+
| 1.0471975511965979 |
+--------------------+

ASIN

asin(expr)

Renvoie l'arc sinus de expr, en radians.

Arguments

  • expr : valeur DOUBLE. Doit être comprise dans l'intervalle [-1, 1].

Type de retour : DOUBLE.

Notes d'utilisation

  • Si expr est supérieur à 1 ou inférieur à -1, la fonction renvoie NULL.

Exemple

SELECT asin(0.5);
+--------------------+
| asin(0.5)          |
+--------------------+
| 0.5235987755982989 |
+--------------------+

ATAN

atan(expr)

Renvoie l'arc tangente de expr, en radians.

Arguments

  • expr : valeur DOUBLE.

Type de retour : DOUBLE.

Exemple

SELECT atan(0.5);
+--------------------+
| atan(0.5)          |
+--------------------+
| 0.4636476090008061 |
+--------------------+

ATAN2

atan2(x, y)

Renvoie l'arc tangente de x divisé par y, en radians.

Arguments

  • x : valeur DOUBLE (numérateur).

  • y : valeur DOUBLE (dénominateur).

Type de retour : DOUBLE.

Exemple

SELECT atan2(0.5, 0.3);
+--------------------+
| atan2(0.5,0.3)     |
+--------------------+
| 1.0303768265243125 |
+--------------------+

CEILING ou CEIL

ceiling(expr)
ceil(expr)

Renvoie expr arrondi à l'entier supérieur le plus proche.

Arguments

  • expr : expression numérique. Types acceptés : TINYINT, SMALLINT, INT, BIGINT, DOUBLE, FLOAT ou DECIMAL.

Type de retour

Type d'entrée Type de retour
TINYINT, SMALLINT, INT, BIGINT BIGINT
DOUBLE, FLOAT DOUBLE
DECIMAL DECIMAL

Exemples

SELECT ceiling(4);
+------------+
| ceiling(4) |
+------------+
|          4 |
+------------+
SELECT ceil(-4.5);
+------------+
| ceil(-4.5) |
+------------+
|         -4 |
+------------+

COS

cos(expr)

Renvoie le cosinus de expr, où expr est exprimé en radians.

Arguments

  • expr : valeur DOUBLE (angle en radians).

Type de retour : DOUBLE.

Exemple

SELECT cos(1.3);
+---------------------+
| cos(1.3)            |
+---------------------+
| 0.26749882862458735 |
+---------------------+

COT

cot(expr)

Renvoie la cotangente de expr, où expr est exprimé en radians.

Arguments

  • expr : valeur DOUBLE (angle en radians).

Type de retour : DOUBLE.

Exemple

SELECT cot(1.234);
+---------------------+
| cot(1.234)          |
+---------------------+
| 0.35013639786701445 |
+---------------------+

CRC32

crc32(expr)

Renvoie la valeur de contrôle de redondance cyclique (CRC) de expr.

Arguments

  • expr : valeur VARBINARY.

Type de retour : BIGINT.

Exemple

SELECT crc32('China');
+-----------------+
| crc32('China')  |
+-----------------+
|       737014929 |
+-----------------+

DEGREES

degrees(expr)

Convertit expr de radians en degrés.

Arguments

  • expr : valeur DOUBLE (angle en radians).

Type de retour : DOUBLE.

Exemple

SELECT degrees(1.3);
+-------------------+
| degrees(1.3)      |
+-------------------+
| 74.48451336700703 |
+-------------------+

EXP

exp(expr)

Renvoie e (la base du logarithme naturel) élevé à la puissance de expr.

Arguments

  • expr : valeur DOUBLE (exposant).

Type de retour : DOUBLE.

Exemple

SELECT exp(4.5);
+-------------------+
| exp(4.5)          |
+-------------------+
| 90.01713130052181 |
+-------------------+

FLOOR

floor(expr)

Renvoie expr arrondi à l'entier inférieur le plus proche.

Arguments

  • expr : expression numérique. Types acceptés : TINYINT, SMALLINT, INT, BIGINT, DOUBLE, FLOAT ou DECIMAL.

Type de retour

Type d'entrée Type de retour
TINYINT, SMALLINT, INT, BIGINT BIGINT
DOUBLE, FLOAT DOUBLE
DECIMAL DECIMAL

Notes d'utilisation

  • AnalyticDB for MySQL convertit les littéraux numériques tels que 0.8 en DECIMAL. Le type de retour correspond au type d'entrée : floor(0.8) renvoie un DECIMAL 0, et non un entier 0.

  • Les expressions de division comme 4/5 sont évaluées comme DOUBLE, donc floor(4/5) renvoie 0.0 (DOUBLE). Pour obtenir un résultat entier, encapsulez la sortie dans une fonction CAST.

Exemples

SELECT floor(7);
+----------+
| floor(7) |
+----------+
|        7 |
+----------+

floor(0.8) — l'entrée 0.8 est traitée comme DECIMAL, le type de retour est donc DECIMAL :

SELECT floor(0.8);
+-------------+
| floor(0.8)  |
+-------------+
|           0 |
+-------------+

floor(4/5) — l'expression 4/5 est évaluée comme DOUBLE, le type de retour est donc DOUBLE :

SELECT floor(4/5);
+-------------+
| floor(4/5)  |
+-------------+
|         0.0 |
+-------------+

LN

ln(expr)

Renvoie le logarithme naturel de expr.

Arguments

  • expr : valeur DOUBLE.

Type de retour : DOUBLE.

Exemple

SELECT ln(2.718281828459045);
+-----------------------+
| ln(2.718281828459045) |
+-----------------------+
|                   1.0 |
+-----------------------+

LOG

log(expr)
log(base, expr)

Renvoie le logarithme de expr. Avec un seul argument, la fonction renvoie le logarithme naturel. Avec deux arguments, elle renvoie le logarithme de expr dans la base spécifiée.

Arguments

  • expr : valeur DOUBLE (expression d'entrée).

  • base (facultatif) : valeur DOUBLE (base du logarithme).

Type de retour : DOUBLE.

Exemples

Logarithme naturel de 16 :

SELECT log(16);
+-------------------+
| log(16)           |
+-------------------+
| 2.772588722239781 |
+-------------------+

Logarithme de 100 en base 10 :

SELECT log(10, 100);
+-------------+
| log(10,100) |
+-------------+
|         2.0 |
+-------------+

LOG2

log2(expr)

Renvoie le logarithme en base 2 de expr.

Arguments

  • expr : valeur DOUBLE.

Type de retour : DOUBLE.

Exemple

SELECT log2(8.7654);
+-------------------+
| log2(8.7654)      |
+-------------------+
| 3.131819928389146 |
+-------------------+

LOG10

log10(expr)

Renvoie le logarithme en base 10 de expr.

Arguments

  • expr : valeur DOUBLE.

Type de retour : DOUBLE.

Exemple

SELECT log10(100.876);
+--------------------+
| log10(100.876)     |
+--------------------+
| 2.0037878529824615 |
+--------------------+

PI

pi()

Renvoie la valeur de pi (le rapport entre la circonférence d'un cercle et son diamètre).

Type de retour : DOUBLE.

Exemple

SELECT pi();
+-------------------+
| pi()              |
+-------------------+
| 3.141592653589793 |
+-------------------+

POWER ou POW

power(x, y)
pow(x, y)

Renvoie x élevé à la puissance de y.

Arguments

  • x : valeur DOUBLE (base).

  • y : valeur DOUBLE (exposant).

Type de retour : DOUBLE.

Exemples

SELECT power(1.2, 3.4);
+-------------------+
| power(1.2,3.4)    |
+-------------------+
| 1.858729691979481 |
+-------------------+
SELECT pow(-2, -3);
+------------+
| pow(-2,-3) |
+------------+
|     -0.125 |
+------------+

RADIANS

radians(expr)

Convertit expr de degrés en radians.

Arguments

  • expr : valeur DOUBLE (angle en degrés).

Type de retour : DOUBLE.

Exemple

SELECT radians(60.0);
+--------------------+
| radians(60.0)      |
+--------------------+
| 1.0471975511965976 |
+--------------------+

RAND

rand()
rand() * (y - x) + x

Renvoie un nombre à virgule flottante aléatoire. La fonction rand() renvoie une valeur dans l'intervalle [0, 1). Pour obtenir un nombre aléatoire dans une plage personnalisée [x, y), utilisez rand() * (y - x) + x.

Type de retour : DOUBLE.

Notes d'utilisation

  • La fonction rand() ne prend aucun argument.

  • Le résultat est uniformément distribué : supérieur ou égal à x et strictement inférieur à y.

Exemples

Nombre aléatoire dans l'intervalle [0, 1) :

SELECT rand();
+--------------------+
| rand()             |
+--------------------+
| 0.6613712594764614 |
+--------------------+

Nombre aléatoire dans l'intervalle [3, 12) :

SELECT rand() * (12 - 3) + 3;
+-------------------+
| rand()*(12-3)+3   |
+-------------------+
| 9.073329270781976 |
+-------------------+

ROUND

round(expr [, scale])

Renvoie expr arrondi à scale décimales. La valeur par défaut de scale est 0. Le type de retour correspond au type d'entrée.

Arguments

  • expr : expression numérique à arrondir. Types acceptés : TINYINT, SMALLINT, INT, BIGINT, DOUBLE, FLOAT ou DECIMAL.

  • scale (facultatif) : entier spécifiant le nombre de décimales. La valeur par défaut est 0.

Type de retour

Type d'entrée Type de retour
TINYINT, SMALLINT, INT, BIGINT BIGINT
DOUBLE, FLOAT DOUBLE
DECIMAL DECIMAL

Notes d'utilisation

  • Si expr est NULL, la fonction renvoie NULL.

  • Si scale est supérieur à 0, le résultat est arrondi à ce nombre de décimales.

  • Si scale est égal à 0, le résultat est arrondi à l'entier le plus proche.

  • Si scale est inférieur à 0, le résultat est arrondi à ce nombre de positions à gauche de la virgule. Par exemple, scale = -1 arrondit à la dizaine la plus proche.

Exemples

Arrondi à l'entier le plus proche (scale = 0) :

SELECT round(345.983, 0);
+------------------+
| round(345.983,0) |
+------------------+
|          346.000 |
+------------------+

Arrondi à une décimale (scale = 1) :

SELECT round(345.123, 1);
+------------------+
| round(345.123,1) |
+------------------+
|          345.100 |
+------------------+

Arrondi à une position à gauche de la virgule (scale = -1) :

SELECT round(344.984, -1);
+-------------------+
| round(344.984,-1) |
+-------------------+
|           340.000 |
+-------------------+

Arrondi à quatre positions à gauche de la virgule (scale = -4) :

SELECT round(345.984, -4);
+-------------------+
| round(345.984,-4) |
+-------------------+
|             0.000 |
+-------------------+

SIGN

sign(expr)

Renvoie le signe de expr sous forme d'entier : 1 pour les valeurs positives, 0 pour zéro et -1 pour les valeurs négatives.

Arguments

  • expr : expression numérique. Types acceptés : TINYINT, SMALLINT, INT, BIGINT, DOUBLE, FLOAT ou DECIMAL.

Type de retour : BIGINT.

Exemples

SELECT sign(12);
+----------+
| sign(12) |
+----------+
|        1 |
+----------+
SELECT sign(-4.5);
+------------+
| sign(-4.5) |
+------------+
|         -1 |
+------------+

SIN

sin(expr)

Renvoie le sinus de expr, où expr est exprimé en radians.

Arguments

  • expr : valeur DOUBLE (angle en radians).

Type de retour : DOUBLE.

Exemple

SELECT sin(1.234);
+--------------------+
| sin(1.234)         |
+--------------------+
| 0.9438182093746337 |
+--------------------+

SQRT

sqrt(expr)

Renvoie la racine carrée de expr.

Arguments

  • expr : valeur DOUBLE.

Type de retour : DOUBLE.

Exemple

SELECT sqrt(4.222);
+-------------------+
| sqrt(4.222)       |
+-------------------+
| 2.054750593137766 |
+-------------------+

TAN

tan(expr)

Renvoie la tangente de expr, où expr est exprimé en radians.

Arguments

  • expr : valeur DOUBLE (angle en radians).

Type de retour : DOUBLE.

Exemple

SELECT tan(8);
+--------------------+
| tan(8)             |
+--------------------+
| -6.799711455220379 |
+--------------------+