MySQL の DATE 文字列と DATETIME 値の比較
この質問では、DATE 文字列と、データベース。ユーザーは、日付ピッカーを使用してデータをフィルターし、選択した DATE に対応する DATETIME 値を持つ特定の行を取得しようとします。
解決策:
この比較を実現するには、次のようにします。クエリでは DATE() 関数を使用する必要があります。この関数は、DATETIME 値から日付コンポーネントのみを抽出し、DATE 文字列との直接比較を可能にします。
変更されたクエリ:
SELECT * FROM `calendar` WHERE DATE(startTime) = '2010-04-29'
DATE を使用することにより() 関数を使用すると、クエリは DATETIME フィールドの日付部分のみを効果的に比較し、時間コンポーネントを削除します。これにより、特定の時刻に関係なく、DATETIME 値が「2010-04-29 10:00」の行が取得されるようになります。
追加の考慮事項:
大きなテーブルの場合、パフォーマンスの最適化が重要です。テーブルに数百万のレコードが含まれている場合は、DATETIME 値を直接比較するよりも、DATE() 関数を使用する方が効率的です。テストでは、DATE() 関数のアプローチによってクエリの実行時間が大幅に短縮されることが示されています。
したがって、MySQL で DATE 文字列を DATETIME 値と比較する場合、特に次のようなテーブルの場合は、DATE() 関数の使用を強くお勧めします。多数のレコード。
以上がMySQL で DATE 文字列と DATETIME 値を比較するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。