Mysql中使用時間查詢的詳細圖文教程
一、使用等號查詢
可以像普通查詢使用等號進行查詢,但必須查詢時間必須和字段對應時間完全相等,比如我要查下面這個值
sql如下:
SELECT id, start_time, end_time FROM pay_fee_rule WHERE start_time ='2022-10-9 10:33:39'
查詢結果:
但只要改變其中一個值,那么就查不出來了,比如將值改為“2022-10-9 10:33:38”,查詢結果如下:
時間一般都不會使用 “=” 查詢。
二、查詢某月、某日、某年
假如我要查詢2022年10月份的所有數據,可以使用 DATE_FORMAT (字段名, ‘%Y-%m’) = DATE_FORMAT (‘查詢時間字段’, ‘%Y-%m’),sql如下:
SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m') = DATE_FORMAT('2022-10-9 10:33:38', '%Y-%m')
查詢結果如下:
查詢某天,比如查詢22年10月11日的數據,可以使用 DATE_FORMAT(‘查詢時間字段’, ‘%Y-%m-%d’),sql如下:
SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m-%d') = DATE_FORMAT('2022-10-11 10:33:38', '%Y-%m-%d')
結果如下:
那查詢某年呢?比如查詢2021年的數據,使用 DATE_FORMAT(‘查詢時間字段’, ‘%Y’),sql如下:
SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m-%d') = DATE_FORMAT('2022-10-11 10:33:38', '%Y-%m-%d')
結果如下:
三、查詢時間范圍
比如我要查詢22年9月到2月的所有數據,使用 DATE_FORMAT 配合 “>=”和 “<=”,sql如下:
SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m') >= DATE_FORMAT('2022-10-9 10:33:38', '%Y-%m') AND DATE_FORMAT(start_time, '%Y-%m') <= DATE_FORMAT('2022-12-9 10:33:38', '%Y-%m') ORDER BY start_time
結果如下:
查詢 22年10月11日之前的數據,sql如下:
SELECT id, start_time, end_time FROM pay_fee_rule WHERE DATE_FORMAT(start_time, '%Y-%m-%d') < DATE_FORMAT('2022-10-11 10:33:38', '%Y-%m-%d') ORDER BY start_time
結果如下:
查詢時間不難,只要知道是要按年、按月還是按日,格式化時間的字符寫對就行。
總結
到此這篇關于Mysql中使用時間查詢的文章就介紹到這了,更多相關Mysql使用時間查詢內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
mysql報錯Duplicate entry ‘xxx‘ for key&nbs
有時候對表進行操作,例如加唯一鍵,或者插入數據,會報錯,本文就來介紹一下mysql報錯Duplicate entry ‘xxx‘ for key ‘字段名‘的解決方法,感興趣的可以了解一下2023-10-10