由于系统移植,原来的数据库编码和时区都换了,原来的一些SQL文也出错了。。
经常崩出"ORA-01846: not a valid day of the week "错误。
经测试,以下这个简单语句也会错!!
SQL> select next_day(sysdate,'FRIDAY') FROM DUAL;
select next_day(sysdate,'FRIDAY') FROM DUAL
ORA-01846: not a valid day of the week
经过查找一些资料,确实是时区或编码引起的。
想到阿拉伯数据是全世界通用的,那应该可以用1--7代替星期几 。
于是,立马产生以下语句:
select next_day(sysdate,5) FROM DUAL;
执行,结果出来了。。。
NEXT_DAY(SYSDATE,5)
-------------------
2009-11-19 15:47:39
至此,算是解决一个问题。。。
把记录写下来,以防哪天忘记了。同时,帮助一下遇到同样问题的同道中人^_^。