该错误和语言环境有管,即'NLS_DATE_LANGUAGE,这个参数可以在session级别修改
SQL> SELECT NEXT_DAY(SYSDATE, 'FRI') FROM dual;
SELECT NEXT_DAY(SYSDATE, 'FRI') FROM dual
ORA-01846: 周中的日无效
SQL> select * from v$nls_parameters where parameter='NLS_DATE_LANGUAGE';
PARAMETER VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_DATE_LANGUAGE SIMPLIFIED CHINESE
SQL> SELECT NEXT_DAY(SYSDATE,'星期五') FROM dual;
NEXT_DAY(SYSDATE,'星期五')
--------------------------
2011/10/28 11:14:02
SQL> alter SESSION set NLS_DATE_LANGUAGE='AMERICAN' ;
Session altered
SQL> SELECT NEXT_DAY(SYSDATE, 'FRI') FROM dual;
NEXT_DAY(SYSDATE,'FRI')
-----------------------
2011/10/28 11:14:32
SQL> SELECT NEXT_DAY(SYSDATE,'星期五') FROM dual;
SELECT NEXT_DAY(SYSDATE,'星期五') FROM dual
ORA-01846: 周中的日无效
SQL>
NEXT_DAT ora-01846
最新推荐文章于 2018-07-30 21:14:22 发布