您好,登錄后才能下訂單哦!
這篇文章主要介紹Oracle使用to_date()格式化日期會遇到什么坑,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
調整報表檢索條件的時候遇到to_date()格式化日期的問題,明細如下:
1.總數據 159條
select * from daily_file_information;
2.查詢每月數據 3月-139條 4月-16條 5月-4條
select to_char(dfi_create_time,'yyyy-mm'),count(1) from daily_file_information group by to_char(dfi_create_time,'yyyy-mm');
3.第一種查詢方式 【...between...and...】
SQL1:結果159條
select count(1) from daily_file_information where 1=1 and to_char(dfi_create_time,'yyyy-mm') between '2020-03' and '2020-05' ;
SQL2:結果155條
select count(1) from daily_file_information where 1=1 and dfi_create_time between to_date('2020-03','yyyy-mm') and to_date('2020-05','yyyy-mm') ;
4.第二種查詢方式 【...大于等于...小于等于...】
SQL3:結果159條
select count(1) from daily_file_information where 1=1 and to_char(dfi_create_time,'yyyy-mm') >= '2020-03' and to_char(dfi_create_time,'yyyy-mm') <= '2020-05' ;
?
SQL4:結果155條
select count(1) from daily_file_information where 1=1 and dfi_create_time >= to_date('2020-03','yyyy-mm') and dfi_create_time <= to_date('2020-05','yyyy-mm') ;
5.差異數據:to_date()格式化4條5月份數據
to_date('2020-05') 結果為:2020/05/01
結論:
經過幾個SQL的查詢方式對比發現以to_date()轉換數據查詢的結果可能與預期結果數據不一致。
一般情況下在做類似時間過濾的時候我還是比較喜歡用to_char()的方式,根據這幾個查詢的結論而言還是建議大家慎用to_date()這個函數。
以上是“Oracle使用to_date()格式化日期會遇到什么坑”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。