首頁 > 軟體

Mysql中使用時間查詢的詳細圖文教學

2023-03-15 06:03:01

一、使用等號查詢

可以像普通查詢使用等號進行查詢,但必須查詢時間必須和欄位對應時間完全相等,比如我要查下面這個值

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使用時間查詢內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com