MySQL: クエリ時の時間の比較
序文
MySQL でデータをクエリする場合、多くの場合、レコードの作成時刻をフィルタリングする必要があります。たとえば、今年の 1 月から 5 月までの期間だけをクエリする必要がある場合や、現在時刻がどれくらい前であるかをクエリする必要がある場合などです。
この記事では、MySQL でレコードをクエリするときに時間を比較する方法について説明します
1. クエリは現在時刻からどれくらい前のものですか
回避策: TIMESTAMPDIFF 関数を使用します。
//在mobile_call表中搜索querystate != 1 并且记录创建时间距离当前时间20分钟以上的
select *
from mobile_call
where querystate != 1 and TIMESTAMPDIFF(MINUTE,current_date,createTime) > 20
limit 100
2. 特定の時間範囲をクエリする
特定の時間範囲内のレコードをクエリするにはさまざまな方法があります。ここではいくつかの方法を紹介します。
特定の日付範囲のデータをクエリします—…との間
select * from 表名 where time字段 BETWEEN '2020-01-01' and '2021-01-01'
文字列を入力して日付に関するあいまいクエリを実行します。例:
select * from mobile_call where order_date like "2020-06%"
詳細については、
「MySQL は文字列を入力して日付をクエリする方法、フィルタする」、「
MYSQL で時刻と日付の条件をフィルタリングする 4 つの方法」を参照してください。