pl/sql 中的 Next_Day 函数
Posted
技术标签:
【中文标题】pl/sql 中的 Next_Day 函数【英文标题】:Function Next_Day in pl/sql 【发布时间】:2021-12-29 07:00:21 【问题描述】:功能不工作。怎么了?我使用数据库 18c xe。
【问题讨论】:
请不要提供图片/链接。在此处向我们展示您的代码,并告诉我们“不工作”是什么意思。 【参考方案1】:它有效,但您应该使用您的数据库使用的语言。我的会说克罗地亚语。
(只需设置日期格式;您不必这样做):
SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'DD.MM.YYYY';
Session altered.
您的查询在我的数据库中也不起作用:
SQL> select next_day(sysdate, 'MONDAY') from dual;
select next_day(sysdate, 'MONDAY') from dual
*
ERROR at line 1:
ORA-01846: not a valid day of the week
但是,如果我在星期一使用克罗地亚名称,那么它可以工作:
SQL> select next_day(sysdate, 'PONEDJELJAK') from dual;
NEXT_DAY(S
----------
03.01.2022
或者,改变会话 - 那么第一个查询也可以:
SQL> ALTER SESSION SET NLS_DATE_LANGUAGE = 'ENGLISH';
Session altered.
SQL> select next_day(sysdate, 'MONDAY') from dual;
NEXT_DAY(S
----------
03.01.2022
SQL>
你来自……波兰?按照我的建议尝试使用“poniedziałek”。
【讨论】:
【参考方案2】:select next_day(sysdate, 'mon') from dual
你可以试试这个吗?
根据您的语言设置 nls_date_language 并尝试
更改会话集 NLS_DATE_LANGUAGE = "ENGLISH";
【讨论】:
以上是关于pl/sql 中的 Next_Day 函数的主要内容,如果未能解决你的问题,请参考以下文章