SoloCodigo
Bases de Datos => Oracle => Mensaje iniciado por: elipsen en Jueves 16 de Marzo de 2006, 13:15
-
buenas, tengo el siguiente problema. Estoy usando forms builder, y en un campo quiero almacenar una hora, utilizando la siguiente mascara "HH24:MI". La operación me la realiza correctamente, pero cuando veo en la base de datos a través de sql*plus, siempre me guarda lo mismo .. "01/03/06 12:00", da igual la hora que ponga siempre pone lo mismo y ya no se que hacer. El tipo de dato es date. ¿ Alguien me puede ayudar ? Gracias de antemano
-
el tipo de dato date siempre te guarda todo, es dicir dia, mes, año, horas, minutos,segundos y centesimas de segundo, la mascara solo te sirve para cambiar la forma en que 'se ven' los datos, por eso cuando guardas un dato capturado con la máscara que emncionas realmente el forms solo te guarda la hora especificada, pero la fecha sera la fecha por defecto o la fecha actual.
Teniendo los datos asi no hay ningun problema pues solo es necesario que vuelvas a aplicr la misma mascara cuando vuelvas a mostrar los datos, sin embargo para no desperdicar memoria o ´para facilitar más el manejo en tu caso, lo mejor es que crees un campo varchar2(6) (o de 7 si incluso quieres guardar los dos puntos) y que guardes la informacion de esa manera.
-
ajam, gracias por la ayuda!! ;) una preguntita mas, crees k luego podre comparar dos horas guardadas en tipo de dato varchar2(7) en un if o en el mismo select utilizando un between?? Gracias de nuevo!!
-
si la guardas sin los dos puntos si, o bien comparandolas quitandoles los dos puntos y pasandolas a number.
o guardandolas de una vez como number y sin usar los dos puntos. etc.
-
ok, muchas gracias!!! :kicking: