日時列からの日付の抽出
日時列を操作する場合、多くの場合、分析またはフィルターのために日付コンポーネントのみを抽出する必要があります。ただし、BETWEEN 条件を使用したクエリ例では、望ましい結果が得られません。この記事では、次のようなクエリで日付を日時から分離するための代替アプローチについて説明します。
SELECT * FROM data WHERE datetime = '2009-10-20' ORDER BY datetime DESC
MySQL の DATE() 関数
MySQL の DATE() 関数範囲を指定せずに日時列から日付コンポーネントを抽出できます。 DATE() を使用すると、上記のクエリを次のように変更できます。
WHERE DATE(datetime) = '2009-10-20'
このクエリは日付のみに基づいて結果を正しくフィルタリングし、期待される出力を提供します。
LIKE演算子
もう 1 つのオプションは、日時を指定して LIKE 演算子を使用することです。列:
WHERE datetime LIKE '2009-10-20%'
このアプローチは、「2009-10-20」で始まる値を検索し、その日付コンポーネントを持つ行のみを効果的に選択します。ただし、大規模なデータセットで LIKE を使用する場合は、潜在的なパフォーマンスへの影響を認識することが重要です。
以上がMySQL の DateTime 列から日付を効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。