Valor por defecto para una Fecha

Lara
11 de Agosto del 2004
hola!

Tengo una tabla con un campo de tipo Date, por un problema de incompatibilidad de versiones entre mi base de datos y mi aplicación Java, sólo puedo insertar la hora (sin la fecha), y la fecha me gustaría que apareciera por defecto y fuera la del día actual, pero manteniendo la hora que inserto. Es decir, si introduzco en el campo Fecha el valor '10:30:02', que automáticamente se inserte en el campo Fecha el valor: '10/08/2004 10:30:02' . No quiero utilizar triggers (con éstos ya lo he conseguido, pero no me interesa).

De momento, lo que ocurre, es que al insertar sólo la hora, me pone lo siguiente: '31/12/1899 10:30:02', y yo lo que quiero es que cuando le insertes la hora, en la fecha ponga la fecha actual: '10/08/2004 10:30:02'

Hay alguna forma de configurar la base de datos, para que el valor que ahora aparece por defecto 31/12/1899 sea el valor de la fecha actual??

Muchas gracias!
Lara

rafaelco
11 de Agosto del 2004
y si antes haces un select sysdate from dual y despues en el insert recoges la fecha del sysdate??

Pablo Ponte
11 de Agosto del 2004
tengo una idea....
primero podes truncar la fecha con TRUNC(SYSDATE), despues teniendo la hora, que traes desde tu app. java, podes cortar por separado las horas, los min. y los seg.
Una vez echo esto podes probar lo siguiente:
Supongamos que cortaste la hora en tres variables
v_horas , v_min , v_seg
Ahora podes insertar algo asi:
TRUNC(SYSDATE) + (1/24)*v_horas + (1/(24*60))*v_min + (1/(24*3600))*v_seg

es algo complicado pero lo he probado y funciona sin problemas.
Suerte cualquier cosa escribime