Bases de Datos > Oracle

 Problema Con Fecha

(1/1)

sneider:
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.

JuanK:
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-->

sneider:
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

JuanK:
claro, eso es porque si quieres guardar solo un año no debes usar tipo date-

Navegación

[0] Índice de Mensajes

Ir a la versión completa