Merubah String Tanggal Bukan ISO - MySQL Dasar #25
Daftar Isi [ Tanggal dan Waktu – MySQL Dasar #14 ]
Pada MySQL sebuah string tanggal tidak diformat secara persis dengan format ISO sehingga terkadang dalam kondisi tertentu mungkin kita perlu memasukan string tanggal tersebut kedalam sebuah fungsi tertentu agar menghasilkan format yang sesuai dengan ISO
Dalam contoh dibawah ini Anda bisa melihat bahwa sebagian nilai string tanggal dan bulan di kolom sebelah kanan yang dilewatkan kedalam fungsi DAYOFMONTH dan MONTH mengembalikan nilai satu digit pada masing - masing tanggal dan bulannya.
MariaDB [root93]> SELECT d, CONCAT(DAYOFMONTH(d), '-',MONTH(d), '-',YEAR(d)) AS tanggal FROM tanggal;
+------------+------------+
| d | tanggal |
+------------+------------+
| 1980-02-03 | 3-2-1980 |
| 1990-10-12 | 12-10-1990 |
| 2000-12-21 | 21-12-2000 |
| 2012-12-12 | 12-12-2012 |
| 2022-04-24 | 24-4-2022 |
| 2022-04-23 | 23-4-2022 |
| 2022-04-25 | 25-4-2022 |
+------------+------------+
Agar nilai string tanggal/bulan dalam contoh query diatas menghasilkan nilai tanggal sesuai format ISO, maka disini ditambahkanlah fungsi LPAD untuk memastikan bahwa tanggal mengambalikan nilai dalam format 2 digit angka seperti berikut ini
MariaDB [root93]> SELECT d, CONCAT(LPAD(DAYOFMONTH(d),2,0), '-',LPAD(MONTH(d),2,0), '-',YEAR(d)) AS tanggal FROM tanggal;
+------------+------------+
| d | tanggal |
+------------+------------+
| 1980-02-03 | 03-02-1980 |
| 1990-10-12 | 12-10-1990 |
| 2000-12-21 | 21-12-2000 |
| 2012-12-12 | 12-12-2012 |
| 2022-04-24 | 24-04-2022 |
| 2022-04-23 | 23-04-2022 |
| 2022-04-25 | 25-04-2022 |
+------------+------------+
7 rows in set (0.00 sec)
Selain menggunakan fungsi LPAD untuk menghasilkan nilai string tanggal yang mengikuti format ISO, Anda juga bisa menggunakan fungsi lainnya seperti berikut
MariaDB [root93]> SELECT d, CONCAT(DAYOFMONTH(d),'-',MONTH(d),'-',YEAR(d)) AS 'Tidak Iso', DATE_ADD(d, INTERVAL 0 DAY) AS tanggal_iso FROM tanggal;
+------------+------------+-------------+
| d | Tidak Iso | tanggal_iso |
+------------+------------+-------------+
| 1980-02-03 | 3-2-1980 | 1980-02-03 |
| 1990-10-12 | 12-10-1990 | 1990-10-12 |
| 2000-12-21 | 21-12-2000 | 2000-12-21 |
| 2012-12-12 | 12-12-2012 | 2012-12-12 |
| 2022-04-24 | 24-4-2022 | 2022-04-24 |
| 2022-04-23 | 23-4-2022 | 2022-04-23 |
| 2022-04-25 | 25-4-2022 | 2022-04-25 |
+------------+------------+-------------+
7 rows in set (0.00 sec)
MariaDB [root93]> SELECT d, CONCAT(DAYOFMONTH(d),'-',MONTH(d),'-',YEAR(d)) AS 'Tidak Iso', FROM_DAYS(TO_DAYS(d)) AS tanggal_iso FROM tanggal;
+------------+------------+-------------+
| d | Tidak Iso | tanggal_iso |
+------------+------------+-------------+
| 1980-02-03 | 3-2-1980 | 1980-02-03 |
| 1990-10-12 | 12-10-1990 | 1990-10-12 |
| 2000-12-21 | 21-12-2000 | 2000-12-21 |
| 2012-12-12 | 12-12-2012 | 2012-12-12 |
| 2022-04-24 | 24-4-2022 | 2022-04-24 |
| 2022-04-23 | 23-4-2022 | 2022-04-23 |
| 2022-04-25 | 25-4-2022 | 2022-04-25 |
+------------+------------+-------------+
7 rows in set (0.00 sec)
Baca Selanjutnya : Menghitung Usia Dengan Akurat - MySQL Dasar #26
0 Response to "Merubah String Tanggal Bukan ISO - MySQL Dasar #25"
Post a Comment
Komentar yang Anda kirim akan terlebih dahulu di moderasi oleh Admin