Recuperar hora de un campo date en forms
Publicado por Brick (2 intervenciones) el 19/08/2009 11:34:41
Buenas.
Tengo una aplicación desarroyada en Forms 6 de oracle conectada a una BD en Oracle 9i, estoy construyendo un procedimiento en el cual tengo que obtener de una tabla, la fecha y la hora de una columna de tipo DATE y almacenarlo en una variable de tipo VARCHAR2.
Para esto hago lo siguiente:
v_retorno varchar2(100);
...
v_retorno := to_char(to_date(get_item_property(v_tabla||'.'||p.column_name,database_value),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS');
La variable v_tabla se refiere al bloque, y la variable p.column_name es el nombre de la columna que la obtengo mediante un cursor.
Lo uso así puesto que es un procedimiento dinámico para usar indistintamente del formulario en el que esté y de la tabla a la que accedo (en mi caso el bloque se llama igual que la tabla).
El problema está en que en el momento que pongo el to_date(...) pierdo la hora, es decir aparece así: 19/08/2009 00:00:00
Sin hembargo, si pongo por ejemplo: (accediendo directamente al item del bloque)
v_retorno := to_char(:mibloque.fecha,'MM/DD/YYYY HH24:MI:SS') si que me obtiene la hora correctamente.
Y si pongo:
to_char(get_item_property(v_tabla||'.'||p.column_name,database_value),'MM/DD/YYYY HH24:MI:SS')
me da un error al compilar:
Error 307: demasiadas declaraciondes de 'TO_CHAR' coinciden con esta llamada.
También haciendo la select:
SELECT TO_CHAR(FECHA,'DD/MM/YYYY HH24:MI:SS') FROM MITABLA
aparece correctamente la hora, pero el problema es que no puedo hacer una select, ya que al ser el procedimiento dinámico, no tengo las claves primarias para cruzar los datos.
Alguien me puede ayudar?
Gracias.
Tengo una aplicación desarroyada en Forms 6 de oracle conectada a una BD en Oracle 9i, estoy construyendo un procedimiento en el cual tengo que obtener de una tabla, la fecha y la hora de una columna de tipo DATE y almacenarlo en una variable de tipo VARCHAR2.
Para esto hago lo siguiente:
v_retorno varchar2(100);
...
v_retorno := to_char(to_date(get_item_property(v_tabla||'.'||p.column_name,database_value),'DD/MM/YYYY HH24:MI:SS'),'DD/MM/YYYY HH24:MI:SS');
La variable v_tabla se refiere al bloque, y la variable p.column_name es el nombre de la columna que la obtengo mediante un cursor.
Lo uso así puesto que es un procedimiento dinámico para usar indistintamente del formulario en el que esté y de la tabla a la que accedo (en mi caso el bloque se llama igual que la tabla).
El problema está en que en el momento que pongo el to_date(...) pierdo la hora, es decir aparece así: 19/08/2009 00:00:00
Sin hembargo, si pongo por ejemplo: (accediendo directamente al item del bloque)
v_retorno := to_char(:mibloque.fecha,'MM/DD/YYYY HH24:MI:SS') si que me obtiene la hora correctamente.
Y si pongo:
to_char(get_item_property(v_tabla||'.'||p.column_name,database_value),'MM/DD/YYYY HH24:MI:SS')
me da un error al compilar:
Error 307: demasiadas declaraciondes de 'TO_CHAR' coinciden con esta llamada.
También haciendo la select:
SELECT TO_CHAR(FECHA,'DD/MM/YYYY HH24:MI:SS') FROM MITABLA
aparece correctamente la hora, pero el problema es que no puedo hacer una select, ya que al ser el procedimiento dinámico, no tengo las claves primarias para cruzar los datos.
Alguien me puede ayudar?
Gracias.
Valora esta pregunta


0