© Éditions Eyrolles
53
chapitre n° 2
Manipulation des données
Fonctions utiles
Les fonctions suivantes vous seront d’un grand secours pour manipuler des dates et des intervalles.
• DATE_FORMAT(date,format) convertit une date (heure) suivant un certain format.
• EXTRACT(type FROM date) extrait une partie donnée d’une date (heure).
• FROM_DAYS(n) retourne une date à partir d’un entier (le 1/1/0001 correspond à 366) ;
UNIX_TIMESTAMP(date) retourne le nombre de secondes qui se sont écoulées depuis le
1 er janvier 1970 jusqu’à la date (heure) en paramètre.
• GET_FORMAT(DATE|TIME|DATETIME,'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL')
retourne un format de date (heure).
• SEC_TO_TIME(secondes) convertit un nombre en un type TIME et son inverse TIME_TO_
SEC(time).
• STR_TO_DATE(chaine,format) convertit une chaîne en date (heure) suivant un certain format.
• TIME(expression)extrait d’une date (heure) un type TIME.
• TIME_FORMAT(time,format) convertit un intervalle suivant un certain format.
Les tableaux suivants présentent quelques exemples d’utilisation de ces fonctions :
Tableau 2-11 Quelques formats pour DATE_FORMAT et STR_TO_DATE
Expression
Résultat
Commentaire
DATE_FORMAT(SYSDATE(),'%j') 306
Ce n’est pas la vitesse de Daniel
dans Taxi2, mais le numéro du jour
de l’année (ici il s’agit du
2 novembre 2005).
DATE_FORMAT(dateNaiss,'%W en
%M %X')
Saturday en March
1967
Affichage des libellés des jours et
des mois en anglais par défaut.
STR_TO_DATE('11/09/2005
15:37:42','%d/%m/%Y
%H:%i:%s')
2005-09-11 15:37:42 Conversion d’une chaîne typée date
française au format DATETIME.
Tableau 2-12 Utilisation de EXTRACT et UNIX_TIMESTAMP
Expression
Résultat
Commentaire
EXTRACT(DAY FROM dateEmbauche)
9
Extraction du jour contenu dans la colonne.
EXTRACT(MONTH FROM dateNaiss)
3
Extraction du mois contenu dans la colonne.
UNIX_TIMESTAMP(SYSDATE())/(24*3600) 13089.8850 Le 2 novembre 2005 au soir, 13 089 jours et
des poussières s’étaient écoulés depuis
1970.
53
chapitre n° 2
Manipulation des données
Fonctions utiles
Les fonctions suivantes vous seront d’un grand secours pour manipuler des dates et des intervalles.
• DATE_FORMAT(date,format) convertit une date (heure) suivant un certain format.
• EXTRACT(type FROM date) extrait une partie donnée d’une date (heure).
• FROM_DAYS(n) retourne une date à partir d’un entier (le 1/1/0001 correspond à 366) ;
UNIX_TIMESTAMP(date) retourne le nombre de secondes qui se sont écoulées depuis le
1 er janvier 1970 jusqu’à la date (heure) en paramètre.
• GET_FORMAT(DATE|TIME|DATETIME,'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL')
retourne un format de date (heure).
• SEC_TO_TIME(secondes) convertit un nombre en un type TIME et son inverse TIME_TO_
SEC(time).
• STR_TO_DATE(chaine,format) convertit une chaîne en date (heure) suivant un certain format.
• TIME(expression)extrait d’une date (heure) un type TIME.
• TIME_FORMAT(time,format) convertit un intervalle suivant un certain format.
Les tableaux suivants présentent quelques exemples d’utilisation de ces fonctions :
Tableau 2-11 Quelques formats pour DATE_FORMAT et STR_TO_DATE
Expression
Résultat
Commentaire
DATE_FORMAT(SYSDATE(),'%j') 306
Ce n’est pas la vitesse de Daniel
dans Taxi2, mais le numéro du jour
de l’année (ici il s’agit du
2 novembre 2005).
DATE_FORMAT(dateNaiss,'%W en
%M %X')
Saturday en March
1967
Affichage des libellés des jours et
des mois en anglais par défaut.
STR_TO_DATE('11/09/2005
15:37:42','%d/%m/%Y
%H:%i:%s')
2005-09-11 15:37:42 Conversion d’une chaîne typée date
française au format DATETIME.
Tableau 2-12 Utilisation de EXTRACT et UNIX_TIMESTAMP
Expression
Résultat
Commentaire
EXTRACT(DAY FROM dateEmbauche)
9
Extraction du jour contenu dans la colonne.
EXTRACT(MONTH FROM dateNaiss)
3
Extraction du mois contenu dans la colonne.
UNIX_TIMESTAMP(SYSDATE())/(24*3600) 13089.8850 Le 2 novembre 2005 au soir, 13 089 jours et
des poussières s’étaient écoulés depuis
1970.
