Gestion des dates Oracle
La pseudo colonne SYSDATE affiche la date et l’heure courante. Ajouter 1 à SYSDATE avance la date d’un jour. On peut alors utiliser des fractions pour ajouter des heures/minutes/secondes. Voilà un exemple :
SQL> select sysdate, sysdate+1/24, sysdate +1/1440, sysdate + 1/86400 from dual;
SYSDATE SYSDATE+1/24 SYSDATE+1/1440 SYSDATE+1/86400
-------------------- -------------------- -------------------- --------------------
03-Jul-2002 08:32:12 03-Jul-2002 09:32:12 03-Jul-2002 08:33:12 03-Jul-2002 08:32:13
Et quelques exemples possible :
Description | Date Expression |
---|---|
Maintenant | SYSDATE |
Lendemain | SYSDATE + 1 |
Dans 7 jours | SYSDATE + 7 |
Dans 1 heure | SYSDATE + 1/24 |
Dans 3 heures | SYSDATE + 3/24 |
Dans une demi-heure | SYSDATE + 1/48 |
Dans 10mn | SYSDATE + 10/1440 |
Dans 30s | SYSDATE + 30/86400 |
Demain à minuit | TRUNC(SYSDATE + 1) |
Demain à 8h | TRUNC(SYSDATE + 1) + 8/24 |
Prochain Lundi midi | NEXT_DAY(TRUNC(SYSDATE), ‘MONDAY’) + 12/24 |
Premier jour du moi à minuit | TRUNC(LAST_DAY(SYSDATE ) + 1) |
Prochain Lundi, Mercredi et Vendredy à 9h | TRUNC(LEAST(NEXT_DAY(sysdate,‘‘MONDAY’ ' ),NEXT_DAY(sysdate,‘‘WEDNESDAY’'), NEXT_DAY(sysdate,‘‘FRIDAY’’ ))) + (9/24) |