© Éditions Eyrolles
51
chapitre n° 2
Manipulation des données
Modification d’une heure
On modifie une date en précisant une heure via la fonction en rajoutant le format 'HH:MM:SS'
quels que soient les délimiteurs (ici « : »).
UPDATE Pilote SET dateNaiss = '1967-03-25 12:35:00'
WHERE brevet = 'PL-1';
Ajout d’un délai
On modifie la date d’embauche de 10 minutes après la semaine prochaine. L’ajout d’un intervalle s’opère par la fonction DATE_ADD couplée à la directive DAY_MINUTE qui permet de
spécifier un jour, une heure et une minute. Ainsi la semaine à ajouter correspond au « 7 » du
paramètre, de même pour les 10 minutes.
UPDATE Pilote
SET dateEmbauche =
WHERE brevet
= 'PL-1';
Différence entre deux dates
La différence entre deux dates peut se programmer à l’aide de la fonction DATEDIFF qui
renvoie un entier correspondant au nombre de jours séparant les deux dates.
UPDATE Pilote
SET nombreJoursNaisBoulot =
WHERE brevet
= 'PL-1';
Cette même différence au format d’un intervalle plus précis (nombre de jours décimaux) requiert
l’utilisation de la fonction TIMESTAMPDIFF(intervalle,datetime1,datetime2) que
nous étudierons au chapitre 4 (il existe bien sûr d’autres possibilités de programmation). Cette
fonction effectue la différence entre deux dates suivant un format d’intervalle donné (ici on
obtient des secondes qu’on divise par (24*3600) pour convertir en jours).
Figure 2-9 Intervalles à calculer
dateNais
23/5/1967
qui passe à 12h35
dernierVol
30-10-2005
dateEmbauche
02-11-2005
x h y min
qui passe à
09-11-2005
x h y+10 min
prochainVolControle
13-11-2005
15h30
nombreJoursNaisBoulot
intervalleNaisBoulot
intervalleVolExterieur
intervalleEntreVols
intervalleEmbaucheControle
DATE_ADD(dateEmbauche,INTERVAL '7 0:10' DAY_MINUTE)
DATEDIFF(dateEmbauche,dateNaiss)
Précédent

- 73/418

Suivant