MySQL如何比較時間(datetime)大小

比較時間(datetime)大小

遇到一個業務功能需要將當前時間與數據庫中的會議開始、結束時間進行比較,記錄一下,方便下次用。

用unix_timestamp函數,將字符型的時間,轉成unix時間戳。

select meeting_id,meeting_name,start_time,end_time from meeting_data 
    where meeting_id REGEXP '[0-9]{4}0001' 
        and unix_timestamp(start_time) < unix_timestamp(NOW()) 
        and unix_timestamp(end_time) > unix_timestamp(NOW());

mysql時間比較 — date和datetime

date 直接比較即可,yyyy-MM-dd

如上圖

date存入數據庫類型為 yyyy-MM-dd類型,可以直接進行比較。

datetime 特別註意。雖然寫sql使用的是 yyyy-MM-dd 但是mysql默認會添加 00:00:00 作比較。

比如 :

create_time 為 datetime時

以下sql隻能獲取到 30 號的數據

select * from ok where create_time between ‘2019-01-30' and ‘2019-01-31'

實際查詢如下

select * from ok where create_time between ‘2019-01-30 00:00:00' and ‘2019-01-31 00:00:00' .

如果精確為日期 需要使用 date_format 轉換函數 進行 格式化 後比較。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: