ホームページ >データベース >mysql チュートリアル >MySQL で今日の日付に基づいてレコードを取得するにはどうすればよいですか?
MySQL で今日の日付に基づいてレコードを取得する
データベースを操作する場合、多くの場合、特定の日付または時刻の基準に基づいて結果をフィルタリングする必要があります。 。 MySQL の場合、日付列が今日の日付と一致するレコードを取得するには、次のアプローチを使用します:
元のクエリ:
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE users.signup_date = CURDATE()
には小さな問題があります。 Signup_date 列に格納されている datetime 値全体を CURDATE() の結果に変換します。これは、時刻コンポーネントを含まない現在の日付のみを表します。この比較は失敗する可能性があります。
これを修正するには、DATE() 関数を使用して、signup_date 列から日付コンポーネントのみを抽出し、現在の日付と適切に比較できるようにします。
SELECT users.id, DATE_FORMAT(users.signup_date, '%Y-%m-%d') FROM users WHERE DATE(signup_date) = CURDATE()
この変更により、MySQL は、signup_date カラムの日付部分が現在の日付と一致するかどうかを評価し、この基準を満たさないレコードを除外します。
以上がMySQL で今日の日付に基づいてレコードを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。