Apakah ada cara untuk mengubah format tanggal langsung saat melakukan query MySQL tidak melalui kode program? Saya ingin menggunakan format tanggal seperti 22 Januari 2024 00:00
, nama bulan harus dalam bahasa Indonesia.
Berikut sampel tabel yang saya gunakan:
+----+---------+---------------------+-----------------------+
| id | name | created_at | formatted_created_at |
+----+---------+---------------------+-----------------------+
| 1 | budi | 2024-01-21 00:00:00 | 21 Januari 2024 00:00 |
| 2 | bambang | 2024-01-20 00:00:00 | 20 Januari 2024 00:00 |
| 3 | dodi | 2024-01-23 00:00:00 | 23 Januari 2024 00:00 |
| 4 | ucup | 2024-01-22 00:00:00 | 22 Januari 2024 00:00 |
+----+---------+---------------------+-----------------------+
Tabel user
yang sebenarnya saya gunakan tidak memiliki kolom formatted_created_at
, saya ingin kolom tersebut ada, nilainya adalah tanggal yang sudah di format berdasarkan tanggal created_at
.
Seperti apa kode SQL nya ya agar menghasilkan output tersebut?
Pake date format seperti ini SELECT DATE_FORMAT('2009-10-04 22:23:00', '%W %M %Y')
untuk dokumentasi nya bisa dilihat di sini
Untuk mengubah format tanggal di MySQL bisa menggunakan fungi DATE_FORMAT(tanggal, format)
.
Agar nama bulan menggunakan bahasa Indonesia, perlu mengubah nilai variabel lc_time_names
yang defaultnya biasanya en_US
, untuk mengubahnya ke id_ID
gunakan SQL berikut:
SET lc_time_names = 'id_ID'; -- ubah ke bahasa indonesia
Untuk kasus seperti yang ditanyakan maka query nya bisa seperti ini:
SELECT *, DATE_FORMAT(created_at, '%d %M %Y %H:%i') as formatted_created_at from user;
+----+---------+---------------------+-----------------------+
| id | name | created_at | formatted_created_at |
+----+---------+---------------------+-----------------------+
| 1 | budi | 2024-01-21 00:00:00 | 21 Januari 2024 00:00 |
| 2 | bambang | 2024-01-20 00:00:00 | 20 Januari 2024 00:00 |
| 3 | dodi | 2024-01-23 00:00:00 | 23 Januari 2024 00:00 |
| 4 | ucup | 2024-01-22 00:00:00 | 22 Januari 2024 00:00 |
+----+---------+---------------------+-----------------------+
Kalau pengen tau format specifier apa saja yang tersedia, cek halaman DATE_FORMAT() di dokumentasi MySQL.
Kamu tau jawabannya?
Ayo bergabung bersama lebih dari 200.000 pengguna lainnya!