to char - extract month and year in oracle -
why below query work successfully?
select to_char(sysdate,'mm-yyyy') dual;
but following queries give invalid number
error:
select to_char('28-jul-17','mm-yyyy') dual; select to_char('7/28/2017','mm-yyyy') dual;
though, below query gives same date format.
select sysdate dual; -- 7/28/2017 11:29:01
because function to_char()
accepts date or timestamp values. however, neither '28-jul-17'
nor '7/28/2017'
dates or timestamps - strings.
oracle gently tries convert these stings date
values. implicit conversion may work or may fail, depends on current session nls_date_format
, resp. nls_timestamp_format
settings.
as given in other answers have convert string explicitly:
to_date('28-jul-17', 'dd-mon-rr') to_date('7/28/2017', 'mm/dd/yyyy')
Comments
Post a Comment