ホームページ >データベース >mysql チュートリアル >MySQL で日付を DD/MM/YYYY 形式で正しく並べるにはどうすればよいですか?

MySQL で日付を DD/MM/YYYY 形式で正しく並べるにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-08 11:35:15790ブラウズ

How to Correctly Order Dates in DD/MM/YYYY Format in MySQL?

MySQL で特定の形式の日付の順序付けを処理する方法?

MySQL で日付の順序付けを行う場合、一般的なアプローチは次のとおりです。 YYYY-MM-DD のような形式には DESC 修飾子を使用します。ただし、DD/MM/YYYY などのさまざまな日付形式を扱う場合、混乱が生じます。

日付を DD/MM/YYYY 形式で並べる特定のケースでは、提供されたクエリが期待どおりに機能しません。クエリは DATE_FORMAT 関数を DATE_FORMAT(Date, '%Y%m%d') 式に直接適用しようとしますが、これは望ましい結果と一致しません。

この問題を解決するには、次の 2 つの方法があります。主なオプション:

  1. 出力日付のみのフォーマット: 目標の場合実際の日付値を変更せずに日付を DD/MM/YYYY 形式で表示するだけの場合は、次のクエリを使用できます。

    SELECT *, DATE_FORMAT(date,'%d/%m/%Y') AS niceDate 
    FROM table 
    ORDER BY date DESC 
    LIMIT 0,14

    このクエリでは、DATE_FORMAT 関数が日付列に適用されます。データ取得プロセス中の「%d/%m/%Y」形式。結果には、基になる日付値を変更せずに、目的の形式で日付が表示されます。

  2. 日、月、年による実際の並べ替え: DD/MM/YYYY で示されているように、結果を日、次に月、最後に年で並べ替えるには、カスタム比較関数を使用する必要があります。この関数は、日付の個々のコンポーネントを抽出し、辞書編集的な比較を実行します。このアプローチを実装するクエリの例を次に示します。

    SELECT * FROM table
    ORDER BY FORMAT_DAYOFMONTH(Date), FORMAT_MONTH(Date), FORMAT_YEAR(Date) DESC
    LIMIT 14

以上がMySQL で日付を DD/MM/YYYY 形式で正しく並べるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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