SoloCodigo

Bases de Datos => Oracle => Mensaje iniciado por: sneider en Lunes 15 de Enero de 2007, 16:56

Título: Problema Con Fecha
Publicado por: sneider en Lunes 15 de Enero de 2007, 16:56
Buenas, tengo un problema que no se como solventarlo. Resulta que quiero obtener en un tipo de dato "DATE" el año de una fecha. Es decir, si yo pongo el 31/12/2006 quiero que me devuelva el 2006 pero en formato fecha (no me vale ke devuelva un char).

Yo he hecho esto:
SELECT TO_DATE(TO_CHAR('31/12/2006','dd/mm/yyyy'),'yyyy')
FROM DUAL;

Esta claro que algo esta mal, algo de la mascara. Espero puedan ayudarme. Un saludo y gracias.
Título: Re: Problema Con Fecha
Publicado por: JuanK en Lunes 15 de Enero de 2007, 17:26
claro, es que lo estas usando mal...
una fecha es una fecha siempre, y no puedes decir nunca que una fecha esta compuesta por solo el año asi que en tipo date lo que tu quieres es imposible.


Debes sacarlo en char, o bien en number.

<!--sql--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>SQL </td></tr><tr><td id='CODE'><!--sql1-->[color=blue;font-weight]SELECT[/color] TO_NUMBER (TO_CHAR (SYSDATE, 'yyyy'))
FROM DUAL <!--sql2--></td></tr></table><div class='postcolor'><!--sql3-->
Título: Re: Problema Con Fecha
Publicado por: sneider en Lunes 15 de Enero de 2007, 17:32
Hola Juank, pero si mi campo es de tipo "date" y esta asi ya configurado... supongo ke el to_number me devuelve  un número, y al ejecutar me dará error. Lo mismo estoy yo equivocado.
gracias
Título: Re: Problema Con Fecha
Publicado por: JuanK en Lunes 15 de Enero de 2007, 18:06
claro, eso es porque si quieres guardar solo un año no debes usar tipo date-