该错误和语言环境有管,即'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
最新推荐文章于 2021-09-02 10:47:13 发布
本文介绍了一个与Oracle数据库中日期语言环境设置相关的ORA-01846错误,并展示了如何通过修改NLS_DATE_LANGUAGE参数来解决这个问题。在不同的语言环境下,使用特定的日期关键字对于避免此类错误至关重要。
2552

被折叠的 条评论
为什么被折叠?



