Oracle数据库中知识点的工作记录
1、next_day中日期问题(2022-3-21)
程序中需要使用next_day,计算当天日期的前提下,最近一次的星期一。所以SQL语句类似如下:
SELECT next_day(sysdate,'Monday') FROM dual
程序在本机运行无误后,发布至正式环境中,结果现场出现问题。错误信息如下:
ORA-01846:not a valid day of the week
经查询发现,在Oracle中周一使用星期一还是Monday,是取决于本地的Oracle中NLS_LANGUAGE的设定值。可以通过语句:
select * from v$nls_parameters;
查询本地的设置环境。 通过运行以上语句,服务器的环境设置如下: 因此,将查询语句变为:
SELECT next_day(sysdate,'星期一') FROM dual
就可以正常运行。
共有 0 条评论