15.Les fonctions SQL

15.2.Les fonctions SQL mathématiques

15.2.1.Les opérateurs

On retrouve évidemment :
  • "+" : pour les additions
  • "-" : pour les soustractions
  • "*" : pour les multiplications
  • "/" : pour les divisions

15.2.2.Les fonctions d'arrondi

CEILING(nombre) MySQL
Retourne la valeur arrondie par excès de "nombre".
monchamp CEILING(monchamp)
2.6 3
2.5 3
2.2 3
2 2
-2.2 -2
-2.5 -2
-2.6 -2
SELECT monchamp,CEILING(monchamp) FROM matable
FLOOR(nombre) MySQL|Oracle|PostgreSQL
Retourne la valeur arrondie par défaut de "nombre".
monchamp FLOOR(monchamp)
2.6 2
2.5 2
2.2 2
2 2
-2.2 -3
-2.5 -3
-2.6 -3
SELECT monchamp,FLOOR(monchamp) FROM matable
ROUND(nombre) MySQL|Oracle 8i|PostgreSQL
Retourne la valeur arrondie de "nombre".
monchamp ROUND(monchamp)
2.6 3
2.5 2
2.2 2
2 2
-2.2 -2
-2.5 -3
-2.6 -3
SELECT monchamp,ROUND(monchamp) FROM matable
ROUND(nombre, entier) MySQL|Oracle 8i|PostgreSQL
Retourne "nombre" arrondi avec "entier" chiffres après la virgule.
monchamp ROUND(monchamp,1)
1.26 1.3
1.25 1.2
1.22 1.2
1.2 1.2
-1.22 -1.2
-1.25 -1.3
-1.26 -1.3
SELECT monchamp,ROUND(monchamp,1) FROM matable
TRUNC(nombre) MySQL|Oracle 8i|PostgreSQL
Retourne la partie entière de la valeur passée en paramètre.
monchamp TRUNC(monchamp)
12.6 12
12.4 12
-12.4 -12
SELECT monchamp,TRUNC(monchamp) FROM matable

15.2.3.Les fonctions de puissances et racines

POW(nombre, puissance) MySQL|PostgreSQL
Retourne "nombre" élevé à la puissance "puissance"
rem
  • Avec PostgreSQL "nombre" doit être un "float"
POWER(nombre, puissance) MySQL|Oracle
Retourne "nombre" élevé à la puissance "puissance"
CBRT(nombre) PostgreSQL
Retourne la racine cubique de "nombre"

15.2.4.Les fonctions valeur absolue et signe

ABS(nombre) MySQL|Oracle|PostgreSQL
Retourne la valeur absolue de "nombre"
SIGN(nombre) MySQL|Oracle|PostgreSQL
Retourne -1 si "nombre" est négatif, 0 s'il est nul et 1 s'il est positif
monchamp SIGN(monchamp)
-2 -1
0 0
2 1
SELECT monchamp, SIGN(monchamp) FROM matable

15.2.5.Reste de division

15.2.6.Plus grande et plus petite valeur

GREATEST(valeur1 [,valeur2] ,..) MySQL
Retourne la plus grande valeur (dans l'ordre alphabétique s'il s'agit de valeurs alphanumériques) parmi la liste donnée
rem
  • Ne pas confondre avec la fonction d'aggrégation MAX
LEAST(valeur1 [,valeur2] ,..) MySQL
Retourne la plus petit valeur (dans l'ordre alphabétique s'il s'agit de valeurs alphanumériques) parmi la liste donnée
rem
  • Ne pas confondre avec la fonction d'aggrégation MIN

15.2.7.Les générateurs de nombres aléatoires

RAND() MySQL
Retourne un nombre aléatoire entre 0.0 et 1.0