ホームページ  >  記事  >  データベース  >  日付を MySQL の DATE_FORMAT と比較する場合、同じ形式を使用することが重要なのはなぜですか?

日付を MySQL の DATE_FORMAT と比較する場合、同じ形式を使用することが重要なのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-24 14:07:30233ブラウズ

When Comparing Dates with MySQL's DATE_FORMAT, Why Is Using the Same Format Crucial?

MySQL DATE_FORMAT との日付比較

MySQL の DATE_FORMAT 関数を使用して日付を比較する場合、選択した形式が比較結果に影響することを理解することが重要です。 .

指定された例では、テーブルには '%d-%m-%Y' という形式の日付が含まれており、クエリは同じ形式を使用して日付を比較しようとします。ただし、「28-10-2012」は辞書編集的に「02-11-2012」より大きいため、不正確な結果が生じます。

これを解決するには、日付を文字列ではなく日付として比較することをお勧めします。正しいクエリは次のようになります。

<code class="mysql">select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';</code>

ここで、date() 関数は starttime フィールドから日付コンポーネントを抽出しますが、日付 '2012-11-02' は年-月-値で比較日を指定します。形状。これにより、比較が日付として正しく行われることが保証されます。

starttime が DATETIME フィールドの場合は、繰り返しの変換を避けるために次のクエリの使用を検討してください。

<code class="mysql">select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';</code>

一般に、次のクエリを使用することをお勧めします。日付形式に関する ISO-8601 標準 (y-M-d など)。ただし、上記のクエリは、提供された形式を使用して日付比較を実行する方法を示しています。

以上が日付を MySQL の DATE_FORMAT と比較する場合、同じ形式を使用することが重要なのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。