5分鐘學會MySQL日期區間查詢問題
MySQL日期區間查詢問題
一、前言
在開發中,我們往往會碰到:查詢日期區間(時間段)的問題。
看似很簡單的問題,但不經意間是很容易出錯的。
現總結如下:
二、問題及解決方案
a.先說下常見的兩種查詢方式:
①. select * from ord_base where create_time >= '2018-08-29' and create_time <= '2018-09-29';
②. select * from ord_base where create_time between '2018-08-29' and '2018-09-29';
結果:
程式啟動,程式碼執行,查詢結果有資料,第一感覺沒有問題,然後提測,結果測試小夥伴一測試,
問題就出現了,僅接著,bug通過郵件的形式彈出,你一看,bug問題:2018-09-29當天的資料竟然沒有查到..
b.解決方案:
①.select * from ord_base where create_time >= '2018-08-29' and create_time <= '2018-09-29 23:59:59';
②. select * from ord_base where create_time between '2018-08-29' and '2018-09-29 23:59:59';
在 截止日期新增 " %H:%i:%S ",eg:'2018-09-29 23:59:59';
③. select * from ord_base
where 1= 1
and date_format(create_time,'%Y-%m-%d') >= '2018-08-29'
and date_format(create_time,'%Y-%m-%d') <= '2018-09-29'
使用 date_format(xx,xx)函式。
Now ~ ~ ~寫到這裡,就寫完了,如果有幸幫助到你,請記得關注我,共同一起見證我們的成長。
小結
謝謝觀賞,我叫猿醫生。
猿友推薦:正在奔跑的程式猿