En ce moment j’ai l’occasion de faire un petit peu de SQL à la mode Oracle. Et je viens de passer quelques minutes avec les dates… Le plus simple est de montrer 2 exemples d’utilisation.
Transformer une chaîne de caractères en date
SELECT * FROM ma_table WHERE date = to_date('18/03/1988', 'DD/MM/YYYY')
Transformer une date en chaîne de caractères
SELECT to_char(date, 'DD/MM/YYYY') AS maDate FROM ma_table
Format de date
A l’heure où j’écris ces lignes, nous sommes le 6 juillet 2010 et il est 17h18 et des brouettes. Je vais m’en servir pour les exemples.
- MM : Numéro du mois (ex : 07)
- MON : Nom du mois abrégé (ex : jul)
- MONTH : Nom du mois (ex : july)
- DD : Numéro du jour dans le mois (ex : 06)
- DY : Nom du jour abrégé (ex : tue)
- YYYY : Année sur 4 chiffres (ex : 2010)
- YY : Année sur 2 chiffres (ex : 10)
- RR : Like YY, but the two digits are « rounded » to a year in the range 1950 to 2049. Thus, 06 is considered 2006 instead of 1906 ???
- AM ou PM : matin ou après-midi
- HH : Heure sur 12h, 1-12 (ex : 5)
- HH24 : Heure sur 24h, 0-23 (ex : 17)
- MI : Minute, 0-59) (ex : 18)
- SS : Seconde, 0-59 (ex : des brouettes ;-))
J’ai notamment trouvé ces infos sur le site InfoLab qui ne se contente d’ailleurs pas de to_char
et to_date
.