![]() ![]() ![]()  | 
|
7.3.9 Fonctions mathématiques
Toutes les fonctions mathématiques retourne  -
Moins unaire. Change le signe de l'argument.
mysql> select - 2;
        -> -2
Note : si cet opérateur est utilisé avec un  ABS(X)
Valeur absolue de X.
mysql> select ABS(2);
        -> 2
mysql> select ABS(-32);
        -> 32
Cette fonction ne pose aucun problème particulier avec les valeurs de type  SIGN(X)
Retourne le signe de l'argument sous la forme -1, 0 or 1, suivant que X est négatif, nul, ou positif.
mysql> select SIGN(-32);
        -> -1
mysql> select SIGN(0);
        -> 0
mysql> select SIGN(234);
        -> 1
MOD(N,M)
%
Modulo (identique à l'opérateur % en langage C). Retourne le reste de la division euclidienne de N par M.
mysql> select MOD(234, 10);
        -> 4
mysql> select 253 % 7;
        -> 1
mysql> select MOD(29,9);
        -> 2
Cette fonction ne pose aucun problème particulier avec les valeurs de type  FLOOR(X)
Retourne le plus grand entier possible mais plus petit que X.
mysql> select FLOOR(1.23);
        -> 1
mysql> select FLOOR(-1.23);
        -> -2
Note : le résultat est converti en  CEILING(X)
Retourne le plus petit entier possible mais plus grand que X.
mysql> select CEILING(1.23);
        -> 2
mysql> select CEILING(-1.23);
        -> -1
Note : le résultat est converti en  ROUND(X)
Retourne l'argument X, arrondi à l'entier le plus proche.
mysql> select ROUND(-1.23);
        -> -1
mysql> select ROUND(-1.58);
        -> -2
mysql> select ROUND(1.58);
        -> 2
Note : le résultat est converti en  ROUND(X,D)
Retourne l'argument X, arrondi au décimal le plus proche, avec D décimales. Si D =0, le résultat n'aura pas de partie décimale.
mysql> select ROUND(1.298, 1);
        -> 1.3
mysql> select ROUND(1.298, 0);
        -> 1
Note : le résultat est converti en BIGINT! EXP(X)
Retourne la valeur de e (base des logarithmes naturels ou népériens) à la puissance X.
mysql> select EXP(2);
        -> 7.389056
mysql> select EXP(-2);
        -> 0.135335
LOG(X)
Retourne le logarithme naturel de X.
mysql> select LOG(2);
        -> 0.693147
mysql> select LOG(-2);
        -> NULL
Pour obtenir la valeur du logarithme de  LOG10(X)
Retourne le logarithme de X en base 10.
mysql> select LOG10(2);
        -> 0.301030
mysql> select LOG10(100);
        -> 2.000000
mysql> select LOG10(-100);
        -> NULL
POW(X,Y)
POWER(X,Y)
Retourne la valeur de X à la puissance Y.
mysql> select POW(2,2);
        -> 4.000000
mysql> select POW(2,-2);
        -> 0.250000
SQRT(X)
Retourne la racine carrée positive de X.
mysql> select SQRT(4);
        -> 2.000000
mysql> select SQRT(20);
        -> 4.472136
PI()
Retourne la valeur de PI.
mysql> select PI();
        -> 3.141593
COS(X)
Retourne le cosinus de X, avec X en radians.
mysql> select COS(PI());
        -> -1.000000
SIN(X)
Retourne le sinus de X, avec X en radians.
mysql> select SIN(PI());
        -> 0.000000
TAN(X)
Retourne la tangente de X, avec X en radians.
mysql> select TAN(PI()+1);
        -> 1.557408
ACOS(X)
Retourne l'arcosinus de X, c'est à dire l'angle dont le cosinus est X en radians. Retourne NULL si X n'est pas compris entre -1 et 1.
mysql> select ACOS(1);
        -> 0.000000
mysql> select ACOS(1.0001);
        -> NULL
mysql> select ACOS(0);
        -> 1.570796
ASIN(X)
Retourne l'arsinus de X, c'est à dire l'angle dont le sinus est X en radians. Retourne NULL si X n'est pas compris entre -1 et 1.
mysql> select ASIN(0.2);
        -> 0.201358
mysql> select ASIN('foo');
        -> 0.000000
ATAN(X)
Retourne l'arctangente de X, c'est à dire l'angle dont la tangente est X en radians.
mysql> select ATAN(2);
        -> 1.107149
mysql> select ATAN(-2);
        -> -1.107149
ATAN2(X,Y)
Retourne l'arc tangente de deux variables X et Y. C'est le même calcul que arc tangent of Y / X, hormis le fait que les signes des deux arguments est utilisé pour déterminer le quadrant du résultat.
mysql> select ATAN(-2,2);
        -> -0.785398
mysql> select ATAN(PI(),0);
        -> 1.570796
COT(X)
Retourne la cotangente de X.
mysql> select COT(12);
        -> -1.57267341
mysql> select COT(0);
        -> NULL
RAND()
RAND(N)
Retourne un nombre aléatoire, compris entre 0 et 1.0. Si un entier N est précisé, il est utilisé comme valeur de seed.
mysql> select RAND();
        -> 0.5925
mysql> select RAND(20);
        -> 0.1811
mysql> select RAND(20);
        -> 0.1811
mysql> select RAND();
        -> 0.2079
mysql> select RAND();
        -> 0.7888
Il est impossible d'utiliser une colonne de valeur  LEAST(X,Y,...)
Au moins deux arguments, retourne la plus petite valeur (minimum). Les arguments sont comparés en utilisant les règles suivantes :
 
mysql> select LEAST(2,0);
        -> 0
mysql> select LEAST(34.0,3.0,5.0,767.0);
        -> 3.0
mysql> select LEAST("B","A","C");
        -> "A"
Avec les version de MySQL antérieur à la 3.22.5, il est possible d'utiliser  GREATEST(X,Y,...)
Retourne le plus grand argument de la liste. Les arguments sont comparés de la même manière que pour LEAST.
mysql> select GREATEST(2,0);
        -> 2
mysql> select GREATEST(34.0,3.0,5.0,767.0);
        -> 767.0
mysql> select GREATEST("B","A","C");
        -> "C"
Avec les version de MySQL antérieur à la 3.22.5, il est possible d'utiliser  DEGREES(X)
Retourne l'argument X, converti de radians en degrés.
mysql> select DEGREES(PI());
        -> 180.000000
RADIANS(X)
Retourne l'argument X, converti de radians degrés en radians.
mysql> select RADIANS(90);
        -> 1.570796
TRUNCATE(X,D)
Retourne l'argument X, tronqué à D décimales.
mysql> select TRUNCATE(1.223,1);
        -> 1.2
mysql> select TRUNCATE(1.999,1);
        -> 1.9
mysql> select TRUNCATE(1.999,0);
        -> 1
 | |