Obtener parte de una fecha en una select error ORA-01830
Tengo una select en la que los datos que quiero traerme son parte de un campo fecha exactamente el mes por un lado y el año por otro lado para luego meterlos separados en el group by.
Pero a realiza un to_date(campo,'MM'), to_date(campo2, 'YYYY') me da el error ORA-01830
Por favor me puede ayudar alguien?
Pero a realiza un to_date(campo,'MM'), to_date(campo2, 'YYYY') me da el error ORA-01830
Por favor me puede ayudar alguien?
El error que tenes lo podes corregir de utilizando este juego de mascaras
to_char(to_date(campo, 'dd/mm/rr'),'mm')
to_char(to_date(campo2, 'dd/mm/rr'),'yyyy')
El resultado en SQL lo podes ver reemplazando tus valores tal cual esta el ejemplo a continuacion:
INCORRECTO
to_date('01/01/02', 'MM')
to_date('01/01/02', 'YYYY')
CORRECTO
to_char(to_date('01/01/02', 'dd/mm/rr'),'MM')
to_char(to_date('01/01/02', 'dd/mm/rr'),'YYYY')
to_char(to_date(campo, 'dd/mm/rr'),'mm')
to_char(to_date(campo2, 'dd/mm/rr'),'yyyy')
El resultado en SQL lo podes ver reemplazando tus valores tal cual esta el ejemplo a continuacion:
INCORRECTO
to_date('01/01/02', 'MM')
to_date('01/01/02', 'YYYY')
CORRECTO
to_char(to_date('01/01/02', 'dd/mm/rr'),'MM')
to_char(to_date('01/01/02', 'dd/mm/rr'),'YYYY')
