Mysql使用Datetime類型字段查詢(DATE_FORMAT函數使用)

在工數據庫設計中,我們往往會在數據庫表中耦合該條紀錄的創建時間和更新時間字段,以方便查詢或排查問題。

在Mysql5.7及以上版本,我們可以使用其特性自動插入或更新這兩個字段,如下:

 createAt datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創建時間',
 updateAt datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新時間'

第一個一句很好理解,我們把默認值設置爲CURRENT_TIMESTAMP,即當前時間戳,當我們添加記錄時,mysql會自動幫我們把該字段的值設置爲當前時間戳。

第二個語句表達的意思是,默認也爲當前時間戳,但當我們更新該條紀錄時,mysql會自動幫我們更新該字段爲更新紀錄時的時間戳。

那我們如何使用SQL語句根據這兩個字段來查詢數據呢,這時我們就需要使用mysql的DATE_FORMAT函數,示例SQL如下:

SELECT * FROM `表名` WHERE createAt BETWEEN DATE_FORMAT("2020-06-28 13:47:29",'%Y-%m-%d %H:%i:%s') AND DATE_FORMAT("2020-06-28 13:47:44",'%Y-%m-%d %H:%i:%s')

其中'%Y-%m-%d %H:%i:%s’ 表示需要格式化日期字符串的格式。

%Y-表示年

%m-表示月(1-12)

%d-表示日期(天)(1-31)

%H-表示小時(0-23)

%i-表示分鐘(0-59)

%s-表示秒(0-59)

這樣我們就可以根據這兩個字段來查詢數據了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章