un passage quasi-obligatoire pour faire des sites web dynamiques

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

15.2.3.Les fonctions de puissances et racines

POW(nombre, puissance)MySQL|PostgreSQL
Retourne "nombre" élevé à la puissance "puissance"
remAvec 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
SELECT monchamp, SIGN(monchamp) FROM matable
monchamp SIGN(monchamp)
-2 -1
0 0
2 1

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
remNe 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
remNe 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