Fecha en Oracle
Hola a tod@s,
cómo podría convertir el string fecha := '10/02/2005 00:00:00' en datetime para insertarlo tal cual en oracle? El problema es que inicialmente tengo un data : TDateTime que contiene sólo '10/02/2005', entonces para añadirle la hora, min,seg hago : fecha := DateToStr(data)+ ' 00:00:00'; Pero cuando lo inserto en oracle sólo lo hace como 10/02/2005. Gracias. Santi. |
Wop!
¿Cómo lo insertas? ¿que componentes usas? ¿Como declaras las variables? |
Lo declaro así:
fecha : string; data : Tdatetime; entonces en data tengo una fecha sin horas, min y seg. Para ello hago: fecha := DateToStr(data)+ ' 00:00:00'; data := StrToDateTime(fecha); y lo actualizo en la bds sql.Add('Update tabla Set data_final = to_date( :pdata_final ,''dd/mm/yyyy hh24:mi:ss'')) ParamByName('pdata_final').AsDateTime := data; Y como resultado en la bds sólo me ha puesto la fecha pero sin la hora :( Se te ocurre algo? Gracias. santi |
De que tipo tienes declarado el parametro data_final, es de tipo DATE?
Sino una opcion valida que tienes, ya que cargas la cadena de actualizacion dinamicamente es poner directamente el valor de la fecha como string sql.Add('Update tabla Set data_final = to_date( '+QuotedStr(fecha)+' ,''dd/mm/yyyy hh24:mi:ss'')); Suerte |
Wop!
Intenta esto:
Teóricamente, si tratas la variable como de tipo DateTime, no es necesario hacer el cast (de hecho creo que por eso podría estar fallando). Tambien puedes probar a pasarle una hora distinta de 00:00:00, a ver qué pasa |
No lo solucioné pero encontré el problema,
resulta que el valor para la hora 00:00:00 en oracle , no sé porqué, lo guarda pero no lo muestra en el campo de la tabla.Es decir,está pero no visible. Probé a pasarle una hora distinta y todo ok. Gracias! Santi. |
La franja horaria es GMT +2. Ahora son las 23:28:39. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi