Merubah String Tanggal Bukan ISO - MySQL Dasar #25

merubah string tanggal bukan ISO

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