ORA-01843:无效的月份
? ? ? ? Oracle數(shù)據(jù)庫默認(rèn)情況下,會(huì)以DD-MON-YY的形式顯示日期,其中DD是天數(shù),MON是月份的前三個(gè)字母(大寫),而YY是年份的最后兩位。數(shù)據(jù)庫實(shí)際上會(huì)為年份存儲(chǔ)4位數(shù)字,但是默認(rèn)情況下只會(huì)顯示最后兩位。
?
一個(gè)簡單的語句:
? ? ? ?SELECT TO_DATE('21-MAY-2014') FROM dual;
引發(fā)ORA-01843:無效的月份!
?
PL/SQL Developer錯(cuò)誤:
命令行:
? ? ? ?分析:通過命令行中日期的顯示發(fā)現(xiàn),日期的顯示是以中文格式顯示(Oracle知道我們客戶端的環(huán)境為中文環(huán)境,所以轉(zhuǎn)換為中文格式顯示),而我們SQL語句所針對(duì)的環(huán)境是英文環(huán)境,到這里錯(cuò)誤已經(jīng)很明顯啦。
?
解決之道(統(tǒng)一日期的語言):
統(tǒng)一中文: SELECT TO_DATE('21-5月-2014') FROM dual;
統(tǒng)一英文:
1、修改客戶端會(huì)話日期的語言:?ALTER SESSION SET nls_date_language='american';
2、成功執(zhí)行: SELECT TO_DATE('21-MAY-2014') FROM dual;
?
?
個(gè)人博客:學(xué)習(xí)園
原文連接:http://www.xuexiyuan.cn/article/detail/191.html
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的ORA-01843:无效的月份的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PL/SQL Developer跑在Or
- 下一篇: “江寒雾未歇”上一句是什么