Oracle與MySQL,SQL Server不同,其對時間格式處理比較嚴格
格式化時間,比如格式爲'2020-02-02 02:00:00'這種格式,可以用to_date('time1','YYYY-MM-DD HH24:MI:SS'),注意這裏的正則表達式和其他不同的是不區分大小寫,對於月和分都是M的這種,用mm和mi來區分
但是Oracle是嚴格的非解釋性語言,拿python或者其他數據庫來說,你說個1,別人會認爲這是int,你發個2020-02-02,別人會認爲這是date數據,但是Oracle是一定需要指定的,而且還必須由字符轉入,直接to_date是不行的
舉例來說,你要把'2020-02-02 02:00:00'這個數據插入到Oracle表的date時間字段裏
直接insert into 是不可以的
然後你轉換一下 to_date('2020-02-02 02:00:00','YYYY-MM-DD HH24:MI:SS'),你以爲可以了,NO,還是報錯不行
那麼應該怎麼樣才能插入這種時間類型的數據呢
在Oracle裏你應該先to_char轉換爲字符,再to_date轉換爲時間類型纔可以
如上面的'2020-02-02 02:00:00' 寫成to_date(to_char('2020-02-02 02:00:00'),'YYYY-MM-DD HH24:MI:SS')
20200202可以寫成to_date(to_char('20200202'),'YYYY-MM-DD HH24:MI:SS')等等