MySQL で今日以降の日付と時刻のデータを効率的にクエリするにはどうすればよいですか?
データベース システムでは、タイムスタンプやその他の時間データを追跡するために日時フィールドが広く使用されています。日時データを操作する場合、多くの場合、日時値を他の日時値または日付と比較する必要があります。一般的なタスクは、作成日時列が現在の日付以降であるすべてのレコードを選択することです。
質問:
「作成された」日時フィールドが今日の日付以上であるすべてのレコードを「ユーザー」テーブルから効率的に取得するにはどうすればよいですか?
答え:
MySQL で日時フィールドを日付と比較するには、CURDATE() 関数を使用できます。この関数は、現在の日付を日付値として返します。 「作成された」日時フィールドを CURDATE() と比較することで、その日付部分が今日の日付以上であるかどうかを判断できます。
次のクエリは使用法を示しています:
<code class="language-sql">SELECT * FROM users WHERE created >= CURDATE();</code>
このクエリは、「作成された」日時フィールドの日付部分が今日の日付以上であるすべてのレコードを取得します。
追加メモ:
上記のクエリは、「作成された」日時と CURDATE() の 日付部分 を正しく比較することに注意することが重要です。 「作成された」日時フィールドに時刻部分が含まれている場合、その時刻部分は比較では無視されます。
日付と時刻の部分を比較する場合は、TIMESTAMPDIFF() 関数や DAY()、MONTH()、YEAR などの他の比較方法を使用することもできます。 ()、HOUR ()、MINUTE() およびその他の関数は、特定の日付と時刻を比較するために個々の日付と時刻の部分を抽出します。
以上がMySQL で今日以降の日時を持つレコードを選択する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。