Valores y comparaciones de fecha y hora
Los valores DATE, TIME y TIMESTAMP se pueden comparar con otro valor del mismo tipo. Las comparaciones son cronológicas. Los valores de fecha y hora también se pueden incrementar, reducir y restar.
Si el almacén de datos es DB2, entonces también se puede utilizar la representación de la serie DB2 de los tipos DATE, TIME y TIMESTAMP.
Formato | Formato de fecha | Ejemplos de fecha | Formato de hora | Ejemplos de hora |
---|---|---|---|---|
ISO | aaaa-mm-dd | 1987-02-24 1987-2-24 | hh.mm.ss | 13.50.00 13.50 |
USA | mm/dd/aaaa | 2/24/1987 | hh:mm AM or PM | 1:50 pm 02:10 AM |
EUR | dd.mm.aaaa | 24.02.1987 24.2.1987 | hh.mm.ss | 13.50.00 13.55 |
JIS | aaaa-mm-dd | 1987-02-24 | hh:mm:ss | 13:50 13:50:05 |
Ejemplo 1: comparaciones de los valores de fecha y hora
e.hiredate > '1990-02-24'
'1990-02-24-13.50.00.000000' ó
'1990-02-24-13.50.00'
Si el almacén de datos es DB2, se pueden utilizar duraciones decimales de DB2 en las expresiones y comparaciones. Una duración de fecha es un número decimal (8,0) que representa la diferencia entre dos fechas con el formato AAAAMMDD. Una duración de hora es un número decimal (6,0) que representa la diferencia en dos valores de hora como HHMMSS. Una duración de indicación de la hora es un número decimal (20,6) que representa la diferencia entre dos valores de indicación de la hora como AAAAMMDDHHMMSS.ZZZZZZ (ZZZZZZ es el número de microsegundos que sigue a la coma decimal).
Dos valores de fechas (o valores de hora o valores de indicación de la hora) se pueden restar para dar como resultado una duración. Si el segundo operando es mayor que el primero, la duración es un número decimal negativo. Una duración se puede sumar o restar a partir de un valor de fecha y hora para dar como resultado un valor de fecha y hora nuevo.
Ejemplo 2: comparaciones de los valores de fecha y hora
DATE('3/15/2000') - '12/31/1999' da como resultado un número decimal 215 que es la duración de 0 años, 2 meses y 15 días.
Las duraciones son en realidad números decimales que se pueden utilizar en expresiones aritméticas y comparaciones.
( DATE('3/15/2000') - '12/31/1999' ) + 14 > 215 evaluates to TRUE.
DATE('12/31/1999') + DECIMAL(215,8,0) da como resultado un valor de fecha 3/15/2000.
TIME('11:02:26') - '00:32:56' da como resultado un número decimal 102930 que una duración de hora con un valor de 10 horas, 29 minutos y 30 segundos.
TIME('00:32:56') + DECIMAL(102930,6,0) da como resultado un valor de hora de 11:02:26.
TIME('00:00:59') + DECIMAL(240000,6,0) da como resultado un valor de hora de 00:00:59.
e.hiredate + DECIMAL(500,8,0) > '2000-10-01' significa comparar hiredate más 5 meses hasta la fecha 10/01/2000.