extract month and year in oracle

Adarsh Joshi picture Adarsh Joshi · Jul 28, 2017 · Viewed 11.3k times · Source

Why does below query work successfully?

select to_char(sysdate,'MM-YYYY') from dual;

But the following queries give an invalid number error:

select to_char('28-JUL-17','MM-YYYY') from dual;
select  to_char('7/28/2017','MM-YYYY') from dual;

Though, below query gives you the same date format.

select sysdate from dual; -- 7/28/2017 11:29:01 AM

Answer

mehmet baran picture mehmet baran · Jul 28, 2017

TO_CHAR function accepts only date or number. Maybe you can try this

select to_char(to_date('28-JUL-17', 'DD-MON-YY'),'MM-YYYY') from dual;