Menghitung Tanggal Lain dengan Penggantian Substring - MySQL Dasar #30

Misalkan Anda memiliki sebuah data tanggal kemudian Anda ingin menghasilkan nilai tanggal lain dari data tanggal tersebut, didalam kasus ini Anda dapat menggunakan operasi penggantian substring tanpa perlu melakukan operasi matematika seperti yang sudah dijelaskan pada sesi - sesi sebelumnya seperti menggeser tanggal atau menentukan hari pertama dan terakhir pada bulan tertentu.

Daftar Isi :   Tanggal dan Waktu – MySQL Dasar #14

Dalam contoh sederhananya misal, Anda ingin menampilkan hari pertama pada bulan tertentu maka Anda cukup mengganti komponen dari hari menjadi 01 seperti berikut :

MariaDB [root93]> SELECT d, DATE_FORMAT(d, '%Y-%m-01') AS 'Cara 1',
    -> CONCAT(YEAR(d), '-',LPAD(MONTH(d),2,'0'),'-01') AS 'Cara 2'
    -> FROM tanggal;
+------------+------------+------------+
| d          | Cara 1     | Cara 2     |
+------------+------------+------------+
| 1980-02-03 | 1980-02-01 | 1980-02-01 |
| 1990-10-12 | 1990-10-01 | 1990-10-01 |
| 2000-12-21 | 2000-12-01 | 2000-12-01 |
| 2012-12-12 | 2012-12-01 | 2012-12-01 |
| 2022-04-24 | 2022-04-01 | 2022-04-01 |
| 2022-04-23 | 2022-04-01 | 2022-04-01 |
| 2022-04-25 | 2022-04-01 | 2022-04-01 |
+------------+------------+------------+
7 rows in set (0.09 sec)

Selain itu dengan operasi string Anda juga bisa menentukan nilainya secara spesifik seperti dalam contoh kasus Anda ingin menentukan tanggal hari Kemerdekaan Republik Indonesia yang diperingati setiap tanggal 17 agustus, maka Anda hanya perlu mengganti komponen hari dan bulan didalam string tanggal yang akan ditampilkan seperti berikut ini


MariaDB [root93]> select d, date_format(d, '%Y-08-17') AS 'cara 1',
    -> concat(year(d),'-','08-17') AS 'cara 2' FROM tanggal;
+------------+------------+------------+
| d          | cara 1     | cara 2     |
+------------+------------+------------+
| 1980-02-03 | 1980-08-17 | 1980-08-17 |
| 1990-10-12 | 1990-08-17 | 1990-08-17 |
| 2000-12-21 | 2000-08-17 | 2000-08-17 |
| 2012-12-12 | 2012-08-17 | 2012-08-17 |
| 2022-04-24 | 2022-08-17 | 2022-08-17 |
| 2022-04-23 | 2022-08-17 | 2022-08-17 |
| 2022-04-25 | 2022-08-17 | 2022-08-17 |
+------------+------------+------------+
7 rows in set (0.00 sec)

Kemudian jika Anda misalnya ingin menampilkan nilai tanggal untuk hari kemerdekaan pada tahun ini dan tahun berikutnya maka Anda hanya perlu menambahkan interval waktu menjadi maju

MariaDB [root93]> SELECT DATE_FORMAT(CURDATE(), '%Y-08-17') AS 'Hari Kemerdekaan Thn ini',
    -> DATE_ADD(DATE_FORMAT(CURDATE(), '%Y-08-17'), INTERVAL 1 YEAR) AS 'Hari Kemerdekaan Thn Berikutnya';
+--------------------------+---------------------------------+
| Hari Kemerdekaan Thn ini | Hari Kemerdekaan Thn Berikutnya |
+--------------------------+---------------------------------+
| 2022-08-17               | 2023-08-17                      |
+--------------------------+---------------------------------+
1 row in set (0.00 sec)

Selanjutnya : Menampilkan Nama Hari Dari Tanggal Tertentu - MySQL Dasar #31

0 Response to "Menghitung Tanggal Lain dengan Penggantian Substring - MySQL Dasar #30"

Post a Comment

Silahkan untuk meninggalkan komentar, santai saja dan mulailah berkomentar...