問題:
MySQLデータベースの日付と時刻のデータの形式を変更したい。
例:
私たちのデータベースには、student_platform
id
列にデータがあります 、first_name
、last_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」という新しい形式になっています。