踩坑記錄:Oracle數據庫如何插入或轉換時間類型的數據

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')等等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章