問題:
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」という新しい形式になっています。