Petite application pratique de notre article Compter jusqu’à 100 avec MySQL, afficher les heures de la journée au format heure :
select Concat( Lpad((Unites.Nombre + (Dizaines.Nombre-1)*10 -1), 2, 0), ':00') as Heure from ( Select 1 as Nombre Union All Select 2 Union All Select 3 Union All Select 4 Union All Select 5 Union All Select 6 Union All Select 7 Union All Select 8 Union All Select 9 Union All Select 10 ) As Unites inner join ( Select 1 as Nombre Union All Select 2 Union All Select 3 Union All Select 4 Union All Select 5 Union All Select 6 Union All Select 7 Union All Select 8 Union All Select 9 Union All Select 10 ) As Dizaines on 1=1 where (Unites.Nombre + (Dizaines.Nombre-1)*10 -1) <= 23
Ce qui nous donne
+-------+ | Heure | +-------+ | 00:00 | | 01:00 | | 02:00 | | 03:00 | | 04:00 | | 05:00 | | 06:00 | | 07:00 | | 08:00 | | 09:00 | | 10:00 | | 11:00 | | 12:00 | | 13:00 | | 14:00 | | 15:00 | | 16:00 | | 17:00 | | 18:00 | | 19:00 | | 20:00 | | 21:00 | | 22:00 | | 23:00 | +-------+
Et hop ! Il n’y a plus qu’à comparer avec les heures d’une autre table.