MySQL DATE_FORMAT との日付比較
MySQL の DATE_FORMAT 関数を使用して日付を比較する場合、選択した形式が比較結果に影響することを理解することが重要です。 .
この例では、テーブルには '%d-%m-%Y' という形式の日付が含まれており、クエリは同じ形式を使用して日付を比較しようとします。ただし、「28-10-2012」は辞書編集的に「02-11-2012」よりも大きいため、不正確な結果が生じます。
これを解決するには、日付を文字列ではなく日付として比較することをお勧めします。正しいクエリは次のようになります:
select date_format(date(starttime),'%d-%m-%Y') from data
where date(starttime) >= date '2012-11-02';
ここで、date() 関数は starttime フィールドから日付コンポーネントを抽出し、date '2012-11-02' は比較を指定します。年-月-値形式の日付。これにより、比較が日付として正しく行われることが保証されます。
starttime が DATETIME フィールドの場合は、変換の繰り返しを避けるために次のクエリの使用を検討してください:
select date_format(date(starttime),'%d-%m-%Y') from data
where starttime >= '2012-11-02 00:00:00';
一般に、日付形式には ISO-8601 標準 (y-M-d など) を使用することをお勧めします。ただし、上記のクエリは、指定された形式を使用して日付比較を実行する方法を示しています。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3