Partie I
SQL de base
52
© Éditions Eyrolles
UPDATE Pilote SET
intervalleNaisBoulot =
intervalleEntreVols =
intervalleVolExterieur =
WHERE brevet = 'PL-1';
Différence entre deux intervalles
La différence entre deux décimaux renvoie un décimal qu’on convertit en format TIME (s’il
est inférieur à 839 h, soit 34,95 jours) par la fonction SEC_TO_TIME après l’avoir changé en
secondes (multiplié par 24*3600).
UPDATE Pilote SET
intervalleEmbaucheControle =
WHERE brevet = 'PL-1';
La ligne contient désormais les informations suivantes. Les données en gras correspondent
aux mises à jour. On trouve qu’il a fallu 14 109,126875 jours pour que ce pilote soit embauché. 10,6511181 jours séparent le dernier vol du pilote du moment de son embauche.
14,645833 jours, séparent son dernier vol de son prochain contrôle en vol. La différence entre
ces deux délais est de 95 heures, 52 minutes et 18 secondes.
Nous verrons au chapitre 4, comment convertir en jours, heures, minutes et secondes un décimal de grande taille.
Figure 2-10 Ligne modifiée par des calculs de dates
TIMESTAMPDIFF(SECOND,dateNaiss,dateEmbauche)/(24*3600) ,
TIMESTAMPDIFF(SECOND,dernierVol,prochainVolControle)/(24*3600),
TIMESTAMPDIFF(SECOND,dernierVol,dateEmbauche)/(24*3600)
SEC_TO_TIME((intervalleEntreVols - intervalleVolExterieur)*24*3600)
Pilote
brevet nom
dateNaiss
dernierVol dateEmbauche
prochainVolControle
PL-1
Thierry Albaric
1967-03-25
1967-03-25 12:35:00
2005-10-30 2005-11-02 15:27:42
2005-11-09 15:37:42
2005 -11-13 15:30:00
nombreJoursNaisBoulot intervalleNaisBoulot
intervall eVolExterieur
13186. 1596
14109.126875
10.651181
intervalleEntreVols
intervalleEmbaucheControle
compa
14.645833
95:52:18
AF
SQL de base
52
© Éditions Eyrolles
UPDATE Pilote SET
intervalleNaisBoulot =
intervalleEntreVols =
intervalleVolExterieur =
WHERE brevet = 'PL-1';
Différence entre deux intervalles
La différence entre deux décimaux renvoie un décimal qu’on convertit en format TIME (s’il
est inférieur à 839 h, soit 34,95 jours) par la fonction SEC_TO_TIME après l’avoir changé en
secondes (multiplié par 24*3600).
UPDATE Pilote SET
intervalleEmbaucheControle =
WHERE brevet = 'PL-1';
La ligne contient désormais les informations suivantes. Les données en gras correspondent
aux mises à jour. On trouve qu’il a fallu 14 109,126875 jours pour que ce pilote soit embauché. 10,6511181 jours séparent le dernier vol du pilote du moment de son embauche.
14,645833 jours, séparent son dernier vol de son prochain contrôle en vol. La différence entre
ces deux délais est de 95 heures, 52 minutes et 18 secondes.
Nous verrons au chapitre 4, comment convertir en jours, heures, minutes et secondes un décimal de grande taille.
Figure 2-10 Ligne modifiée par des calculs de dates
TIMESTAMPDIFF(SECOND,dateNaiss,dateEmbauche)/(24*3600) ,
TIMESTAMPDIFF(SECOND,dernierVol,prochainVolControle)/(24*3600),
TIMESTAMPDIFF(SECOND,dernierVol,dateEmbauche)/(24*3600)
SEC_TO_TIME((intervalleEntreVols - intervalleVolExterieur)*24*3600)
Pilote
brevet nom
dateNaiss
dernierVol dateEmbauche
prochainVolControle
PL-1
Thierry Albaric
1967-03-25
1967-03-25 12:35:00
2005-10-30 2005-11-02 15:27:42
2005-11-09 15:37:42
2005 -11-13 15:30:00
nombreJoursNaisBoulot intervalleNaisBoulot
intervall eVolExterieur
13186. 1596
14109.126875
10.651181
intervalleEntreVols
intervalleEmbaucheControle
compa
14.645833
95:52:18
AF
