Arithmétique et comparaisons de dates et d'heures
Les valeurs DATE, TIME et TIMESTAMP peuvent être comparées à une autre valeur de même type. Les comparaisons sont chronologiques. Les valeurs de date et d'heure peuvent aussi être incrémentées, décrémentées et soustraites.
Si le stock de données est une base DB2, vous pouvez également utiliser la représentation de chaîne DB2 des types DATE, TIME et TIMESTAMP.
Format | Format de date | Exemples de date | Format d'heure | Exemples d'heure |
---|---|---|---|---|
ISO | aaaa-mm-jj | 1987-02-24 1987-2-24 | hh.mm.ss | 13.50.00 13.50 |
USA | mm/jj/aaaa | 2/24/1987 | hh:mm AM ou PM | 1:50 pm 02:10 AM |
EUR | jj.mm.aaaa | 24.02.1987 24.2.1987 | hh.mm.ss | 13.50.00 13.55 |
JIS | aaaa-mm-jj | 1987-02-24 | hh:mm:ss | 13:50 13:50:05 |
Exemple 1 : Arithmétique et comparaisons de dates et d'heures
e.hiredate > '1990-02-24'
'1990-02-24-13.50.00.000000'
ou
'1990-02-24-13.50.00'
Si le stock de données est une base DB2, vous pouvez utiliser des durées décimales DB2 dans les expressions et comparaisons. Une durée de date est un nombre décimal(8,0) qui représente la différence entre deux dates au format AAAAMMJJ. Une durée au format heure est un nombre décimal (6,0) qui représente la différence entre deux valeurs temporelles, telles que HHMMSS. Une durée d'horodatage est un nombre décimal (20,6) qui représente la différence entre deux valeurs d'horodatage au format AAAAMMJJHHMMSS.ZZZZZZ (où ZZZZZZ est le nombre de microsecondes après la virgule décimale).
Vous pouvez soustraire deux valeurs de date (ou d'heure ou d'horodatage) pour obtenir une durée. Si le second opérande est supérieur au premier, la durée est un nombre décimal négatif. Vous pouvez ajouter ou soustraire une durée d'une valeur de date et d'heure de façon à obtenir une nouvelle valeur de date et d'heure.
Exemple 2 : Arithmétique et comparaisons de dates et d'heures
DATE('3/15/2000') - '12/31/1999' a pour résultat le nombre décimal 215 qui correspond à une durée de 0 année, 2 mois et 15 jours.
Les durées sont des nombres décimaux réels utilisables dans des expressions arithmétiques et des comparaisons.
( DATE('3/15/2000') - '12/31/1999' ) + 14 > 215 se révèle vrai (TRUE).
DATE('12/31/1999') + DECIMAL(215,8,0) a pour résultat la date 3/15/2000.
TIME('11:02:26') - '00:32:56' a pour résultat le nombre décimal 102930 qui correspond à la durée 10 heures, 29 minutes et 30 secondes.
TIME('00:32:56') + DECIMAL(102930,6,0) a pour résultat l'heure 11:02:26.
TIME('00:00:59') + DECIMAL(240000,6,0) a pour résultat l'heure 00:00:59.
e.hiredate + DECIMAL(500,8,0) > '2000-10-01' compare la date d'embauche (hiredate) plus 5 mois à la date 10/01/2000.