sql >> データベース >  >> RDS >> Mysql

MySQLで日時形式を変更する方法

    問題:

    MySQLデータベースの日付と時刻のデータの形式を変更したい。

    例:

    私たちのデータベースには、student_platform id列にデータがあります 、first_namelast_name 、およびregistration_datetime

    id first_name last_name register_datetime
    1 ロラ ローレンス 2019-02-23 12:04:23
    2 アン スミス 2018-07-10 10:12:15
    3 トム ジャクソン 2019-03-09 08:20:33
    4 リチャード ウィリアムズ 2018-09-30 06:07:34

    学生ごとに、名前、名前、登録日時を取得しましょう。ただし、日付と時刻は、曜日の省略名、コンマ、年、月の名前、曜日、および時刻を時、分、秒の形式で表示する必要があります。次のようになります:

    Tue, 2019 February 17 11:18:55
    

    解決策:

    DATE_FORMAT()を使用します 働き。作成するクエリは次のとおりです。

    SELECT first_name,
           last_name,
           DATE_FORMAT(registration_datetime,’%a, %Y %M %e %H:%i:%s’)
             AS format_registration_datetime
    FROM student_platform;
    

    クエリの結果は次のとおりです。

    first_name last_name format_registration_datetime
    Lora ローレンス 2019年2月23日土曜日12:04:23
    アン スミス 2018年7月10日火曜日10:12:15
    トム ジャクソン 2019年3月9日土曜日08:20:33
    リチャード ウィリアムズ 2019年9月30日月曜日06:07:34

    ディスカッション:

    MySQLデータベースでは、DATE_FORMAT()関数を使用すると、変更された形式で日付と時刻のデータを表示できます。

    この関数は2つの引数を取ります。 1つ目は、再フォーマットされる日時です。これは、日付/時刻/日時/タイムスタンプ列、またはこれらのデータ型のいずれかの値を返す式にすることができます。 (この例では、registration_datetimeを使用します datetimeの列 データ型。)

    2番目の引数は、目的の日付と時刻の形式を含む文字列です。 MySQLでは、次のような多くの指定子を使用できます。

    • %a –省略された平日の名前。
    • %Y –年、4桁。
    • %M –その月のフルネーム。
    • %e –月の日(1〜31)。
    • %H –時間(00〜23)。
    • %i –分(00〜59)。
    • %s –秒(00〜59)。

    日付と時刻の指定子について詳しくは、MySQLの公式ドキュメントをご覧ください。

    たとえば、 Lora Lorens 「2019-02-2312:04:23」に登録。現在、彼女の登録日時は「2019年2月23日土曜日12:04:23」という新しい形式になっています。


    1. SQLスクリプトからシェルスクリプトへの戻り値

    2. HibernateのScrollableResultsを使用して9千万件のレコードをゆっくりと読み取る

    3. T-SQLの複数列ピボット

    4. PostgreSQLのクロステーブル制約