mysql日期范圍查找(兩個日期之間的記錄)


 

轉自:https://blog.csdn.net/lzxlfly/article/details/97577575?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param

 

最近常用到mysql的datetime類型的日期范圍搜索,總結有以下幾種方式可以,可以查詢精確到秒之間的記錄。字符串日期可以直接和datetime類型之間比較,無需轉換,Mysql會將字符串類型日期轉換成長整型數字進行比較,當然你也可以轉換為同一類型后再比較

mysql日期與字符串轉換函數

字符串轉日期:STR_TO_DATE('2019-07-25 00:00:33', '%Y-%m-%d %H:%i:%s')  ,走索引

日期轉字符串:DATE_FORMAT('2019-07-25 00:00:33', '%Y-%m-%d %H:%i:%s'),不走索引

舉例說明

如下表,查詢,create_time為datetime類型,查詢兩個日期范圍內的數據。

方式一、between...and(推薦)

SELECT * FROM k_student WHERE create_time  between '2019-07-25 00:00:33' and '2019-07-25 00:54:33'

方式二、大小於號

SELECT * FROM k_student WHERE create_time >= '2019-07-25 00:00:33' AND create_time <= '2019-07-25 00:54:32'

方式三、轉換為UNIX_TIMESTAMP比較,create_time若加了索引,不走索引 

SELECT * FROM k_student WHERE  UNIX_TIMESTAMP(create_time)  between UNIX_TIMESTAMP('2019-07-25 00:00:33') and UNIX_TIMESTAMP('2019-07-25 00:54:33')


免責聲明!

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



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