因爲種種緣由,在咱們的系統中,帳套期間(PERIOD_NAME)因爲格式設置的緣由,數據庫層存儲的格式以下 Mar-19,而不是常規的2019-03。html
咱們沒法更改數據庫,涉及到的點太多。數據庫
可是期間數據存儲爲Mar-19是不方便的,好比期間大小就不能直接向2019-03這種格式同樣對比。oracle
因爲Oracle支持MON格式,因此嘗試使用spa
select TO_CHAR(to_DATE('Mar-19','MM-YY'),'YYYY-MM') FROM DUAL; //ORA-01843: 無效的月份
,可是不幸的是報ORA-01843: 無效的月份,大部分解決方式都是經過更改NLS_LANGUAGE或者SESSION語言爲AMERICAN的方式來改變整個數據庫的環境參數,可行,可是不實用。code
其實不用,以下便可htm
select TO_CHAR(to_DATE('Mar-19','MM-YY','NLS_DATE_LANGUAGE = ''AMERICAN'''),'YYYY-MM') FROM DUAL;
參考:blog