to_char()、to_date()的區別


to_char 是把日期或數字轉換為字符串 

to_date 是把字符串轉換為數據庫中得日期類型

還記得以前初次接觸oracle時對一些函數還不是很熟悉,老是弄錯,比如在mysql中可以運行,但在oracle中就一直報錯,也找不到具體的原因就會很煩惱,特別是小組里mysql和oracle混用的情況下,

如下sql在oracle中就會報錯,而在mysql中就正常運行,后來才知道是兩種庫的校驗方式不同

select t.create_time,t.* from td_f_opt_201908 t where t.create_time > '20190813';

 

 

具體原因是這樣的:‘20190813’是屬於字符串,在oracle中需要進行轉換成日期形式,此處用to_date()函數,如下:

select T.CREATE_TIME,T.* from TD_F_ORDER_KFK T where T.create_time > to_date('2019-08-13','yyyy-MM-dd hh24:mi');

 

 另一個日期函數to_char(),一般用在mybatis等持久層框架中,因為查出的數據默認是字符串,所以需要轉換成我們需要的日期格式,不然就會在頁面顯示出很尷尬的情況,到時候熱心的測試姐姐又要找你聊天了,具體用法如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM