質問:
DATE_FORMAT 関数を使用して日付を比較する場合、ユーザーは予期しない結果に遭遇し、比較日より前のレコードが結果に表示されました。この問題はどのように解決できますか?
分析:
この問題は、日付を実際の日付値ではなく文字列として比較することに起因します。 DATE_FORMAT は日付を文字列に変換し、辞書編集的に比較するため、不正確な結果が生じます。
解決策:
日付を正確に比較するには、クエリで日付値を直接比較する必要があります。 DATE() 関数を使用して日付情報のみを抽出します。次の変更されたクエリはこれを実現します:
<code class="sql">select date_format(date(starttime),'%d-%m-%Y') from data where date(starttime) >= date '2012-11-02';</code>
このクエリでは:
日付を直接比較することで、クエリは日付が一致するレコードを効果的に除外します。 '2012-11-02' より前。
以上がMySQL で DATE_FORMAT を使用して間違った日付比較結果を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。