Principales fonctions
Principes
Les fonctions retournent une valeur
Figure 1 - Deux fonctions simples SELECT now(); SELECT pi();
Nécessitent souvent un paramètre (ou plusieurs)
Figure 2 - Une même fonction peut avoir plusieurs paramètres, optionnels ou non SELECT round(12.94902093) ; SELECT round(12.94902093, 2) ;
On peut les imbriquer
Figure 3 - La valeur de PI, mais arrondie à deux décimales SELECT round(pi(), 2) ;
On peut travailler avec des valeurs issues des tables...
Figure 4 - La liste des salaires divisés par PI, sans décimale Mais à quoi ça peut servir ? SELECT round(salaire / pi()) FROM emp ;
Il en existe dans différents domaines, selon les besoins :
fonctions arithmétiques, de date, de manipulation de chaînes de caractères
Fonctions arithmétiques
Figure 5 - Quelques fonctions, où X et Y sont des nombres LOG(X) le logarithme naturel de X: POW(X,Y) la valeur de X élevée à la puissance de Y PI() la valeur de PI COS(X) le cosinus de X, où X est en radians SINS(X) le sinus de X, où X est en radians RAND() un nombre entre 0 et 1
Fonctions de date
Quelle heure est-il ? Quel jour sommes nous ?
Figure 6 - Le choix dans la date... curdate() date courante : YYYY-MM-DD curtime() heure courante : HH-MM-SS now() retourne YYYY-MM-DD HH:MM:SS unix_timestamp() retourne la date & heure au format Unix
Morceau de date ? Allez, révisez votre anglais...
Figure 7 - D représente une date ; essayez en remplaçant par now() hour(D) - minute(D) - second(D) month(D) - week(D) - year(D) dayofmonth(D) - dayofweek(D) - dayofyear(D) monthname(D) - dayname(D)
Format de date ? Allez, formules magiques...
Figure 8 - Au format français... 20/05/2012 SELECT date_format(now(), "%d/%m/%Y") ;
Fonctions de chaînes de caractères
Mettre bout à bout : CONCAT(str1,str2,...)
Figure 9 - Le nom sortira en gras Html (s'il sort dans un navigateur) SELECT nom, prenom, concat('<b>', nom, '</b> ', prenom) AS 'nom_prenom' FROM emp
Il faut le dire : toutes ne servent pas tous les jours...
Figure 10 - str pour une chaine, x pour un nombre... LENGTH(str) La taille de la chaîne str LEFT(str,x) Les x caractères à partir de la gauche RIGHT(str,x) Les x caractères à partir de la droite SPACE(x) x espaces REPEAT(str ,x) x fois le morceau LCASE(str) Conversion en minuscules UCASE(str) Conversion en majuscules
Et il y en a encore plein d'autre !
|