Por Favor... Urgeme... Insert Formato Fechas Oracle

Blocked
19 de Octubre del 2009
Hola, Estoy tratando de hacer un insert a una tabla de Oracle que contiene columnas de tipo date, pero no me deja insertar lo siguiente :
TO_CHAR(SYSDATE,\'DD-MON-YYYY\')
he intentado también en la forma
TO_date(SYSDATE,\'DD-MON-YYYY\')
pero me envía que el mes es erróneo
y es que no quiero que se graven las horas ni lo minutos y segundos del sysdate...
¿Qué tengo mal?

Yo sé que esto es pecata minnuta, pero ya me bloqueé.. Agradeceré cualquier tipo de ayuda...
Gracias.




lemf
19 de Octubre del 2009
Mira, te comento que el error que tienes es mas de sintaxis, ya que no debes poner el signo de " ", ya que si estas insertando deberías tener algo así:

insert into mi_tabla values(TO_CHAR(SYSDATE,'DD-MON-YYYY'));

Nos vemos

manic
19 de Octubre del 2009
Efectivamente, no debes usar to_char, sino solo INSERT INTO tutabla VALUES (SYSDATE)

Oracle siempre graba dia y hora completos, pero puedes hacer que no los devuelva. EN una SELECT CAMPOFECHA normal, te devolvera la fecha en formato 'DD/MM/YY'. Si la quieres en otro formato has de hacer SELECT TO_CHAR(CAMPOFECHA,'DD/MON/YY') que parece q es el formato q quieres obtener. Si ese CAMPOFECHA lo vas a tratar en un form en un campo tipo DATE, lo debes obtener de la select como FECHA, y no como CARACTER. Para ello escribe
SELECT TO_DATE (TO_CHAR(CAMPOFECHA, 'DD/MON/YY')) y lo tendras ya como fecha.

juankko
19 de Octubre del 2009
no les hagas caso a todos los de antes. lo que tienes que hacer es un trunc(sysdate) y punto, asi truncas los minutos y los segundo y lo principal.. que siguen siendo fecha no un char como quieren que hagas.

N?or
19 de Octubre del 2009
Como la columna es tipo DATE NO le debés aplicar la función to_char ( la convertiría a caracter ).
sysdate YA es tipo DAET así que no le debés aplicar to_date.
Hacé solo insert into tu_tabla values ( sysdate )