以下是代码
and replace(to_char(to_date(FDP.Period_NAME,'MM-YY'),'MM-YY'),'-','')
<= replace(to_char(to_date('JAN-16','MM-YY'),'MM-YY'),'-','')
错误
错误:ORA-01843:不是有效月份 01843. 00000 - “不是有效月份” *原因:
*操作:
答案 0 :(得分:0)
...有趣
Oracle文档here说格式掩码'MM'匹配“月(01-12; 1月= 01)”,但你使用'JAN'不应该工作。
但是当我在我的数据库上测试你的代码时,它神秘地工作!!!
SQL> select replace(to_char(to_date('JAN-16','MM-YY'),'MM-YY'),'-','') from dual;
REPLA
-----
0116
我仍然会将'JAN'更改为'01',并确认列FDP.Period_NAME不包含像'JAN','FEB'这样的月份缩短......
或更改格式掩码以匹配缩写的月份名称(即“MON”)。