El formato predeterminado que se utiliza para fechas se determina por el código de territorio de la base de datos DB2 (que puede especificarse en el momento de la creación de bases de datos). Por ejemplo, mi base de datos se creó usando territorio = EE. UU. Por lo tanto, el formato de fecha tiene el siguiente aspecto:
values current date
1
----------
05/30/2003
1 record(s) selected.
Puede obtener el código de territorio de DB CFG.
db2 get db cfg | egrep 'code|territory'
Database territory = US
Database code page = 1208
Database code set = UTF-8
Database country/region code = 1
Es decir, el formato es MM/DD/AAAA. Si desea cambiar el formato, puede vincular la colección de paquetes de utilidad db2 para usar un formato de fecha diferente.
para obtener la corriente fecha, la hora y la fecha y hora utilizando SQL, (básicamente le da una idea de lo que el formato de la fecha es) hacen referencia a los registros de DB2 adecuados: El sysibm.sysdummy1 tabla es un especial en memoria tabla que se puede utilizar para descubrir el valor de DB2 registra
db2 "SELECT current date FROM sysibm.sysdummy1 "
1
----------
06/02/2014
1 record(s) selected.
la función FECHA sigue funcionando incluso si dejamos a un lado las citas en la función, pero el resultado no es correcto:
db2 "SELECT date(2001-09-22) FROM sysibm.sysdummy1 "
1
----------
05/24/0006
1 record(s) selected.
Cuando la función DATE obtiene una cadena de caracteres como entrada, asume que es una representación de caracteres válida de una fecha de DB2 y la convierte en consecuencia. Por el contrario, cuando la entrada es numérica, la función asume que representa el número de días menos uno desde el comienzo de la era actual (es decir, 0001-01-01). En la consulta anterior, la entrada fue 2001-09-22, que es igual a (2001-9) -22, que equivale a 1970 días.
Y si todo lo anterior es aplicable, el siguiente comando debería funcionar bien para su problema.
SELECT * FROM table WHERE registrationdate > '10/01/2002';
¿Cómo se define la columna "registrationdate"? Tal vez el tipo de datos de la columna no sea una fecha, si lo fuera, entonces su consulta original debería haber funcionado. – NealB