SoloCodigo
Bases de Datos => Oracle => Mensaje iniciado 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.
-
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-->
-
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
-
claro, eso es porque si quieres guardar solo un año no debes usar tipo date-