如何正確的理解和解決 ORA-01843:not a valid month,ora-01843valid

來源:互聯網
上載者:User

如何正確的理解和解決 ORA-01843:not a valid month,ora-01843valid

今天碼代碼的時候遇到了這個問題,因為oracle用的比較少,所在查詢了一下。

頓時傻眼,有很多的貼子說是因為nls_date_language的問題,還要改會話級的NLS_DATE_LANGUAGE設定為簡體中文,還有些別的,等等。我當時就無語了,我覺得大部分樓主都是在自己玩玩oracle的吧,雖然也算是因素,但如果是在正經項目中,誰會讓你去改這種東西?!


後來發現了正確的做法,如下:


to_date('2014-06-24 00:00:00','yyyy-mm-dd hh24:mi:ss')


oracle日期格式轉換的問題

描述不太清楚,大概瞭解,兩種可能,
1、表A的日期格式都是yyyyMMdd,那你to_date(日期,'yyyyMMdd')要這樣寫,否則長度是不夠的
2、如果在to_date(日期,'yyyyMMdd hh24miss')時候報valid 錯誤,說明你的日期格式不正確,比如年份、月份、天數不合法,如9999年13月32日,這肯定不對
另外建議你,在學習使用oracle的過程中,報的錯誤,直接說oracle的錯誤編號就行,
ORA-01843 not a valid month
 
oracle資料庫插入出現無效的月份

存的時候轉一下不就行了

to_date( to_char(your_col,'yyyy-mm-dd hh24:mi:ss') , 'yyyy-mm-dd hh24:mi:ss' )
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.