ホームページ >データベース >mysql チュートリアル >MySQL で日付を DD/MM/YYYY 形式で正しく並べるにはどうすればよいですか?
MySQL で特定の形式の日付の順序付けを処理する方法?
MySQL で日付の順序付けを行う場合、一般的なアプローチは次のとおりです。 YYYY-MM-DD のような形式には DESC 修飾子を使用します。ただし、DD/MM/YYYY などのさまざまな日付形式を扱う場合、混乱が生じます。
日付を DD/MM/YYYY 形式で並べる特定のケースでは、提供されたクエリが期待どおりに機能しません。クエリは DATE_FORMAT 関数を DATE_FORMAT(Date, '%Y%m%d') 式に直接適用しようとしますが、これは望ましい結果と一致しません。
この問題を解決するには、次の 2 つの方法があります。主なオプション:
出力日付のみのフォーマット: 目標の場合実際の日付値を変更せずに日付を 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」形式。結果には、基になる日付値を変更せずに、目的の形式で日付が表示されます。
日、月、年による実際の並べ替え: 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 サイトの他の関連記事を参照してください。