Hallo sahabat SB semua !!! semoga kita selalu mendapat kesehatan dan kelancaran semua aktivitas kita.
Pada kesempatan ini, SuruhBelajar akan membagikan informasi seputar Coding MySQL untuk sahabat setia SB khususnya tentang fungsi tanggal untuk pada database MySQL. Mungkin dari beberapa sahabat SB ada yang mengalami masalah dalam membuat aplikasi, khususnya aplikasi yang membutuhkan perhitungan tanggal dari tanggal yang tersimpan dalam database, khususnya database MySQL. Maka informasi ini
sangat cocok untuk para sahabat SB yang sedang mencari solusinya.
sangat cocok untuk para sahabat SB yang sedang mencari solusinya.
Sebelum mengenal lebih jauh, perlu kita ketahui beberapa fungsi tanggal yang penting yaitu:
NOW() | : Menghasilkan tanggal dan waktu (contoh: 2017-02-27 16:20:12) |
CURDATE() | : Menghasilkan tanggal saja |
CURTIME() | : Menghasil waktu saja |
DATE() | : Mengambil bagian atau keseluruhan isi tanggal |
EXTRACT() | : Menghasilkan satu bagian dari tanggal/waktu |
DATE_ADD() | : Menambahkan interval waktu yang spesifik ke dalam tanggal/waktu |
DATE_SUB() | : Mengurangi interval waktu yang spesifik dari tanggal/waktu |
DATEDIFF() | : Menghasilkan jarak atau selisih antara dua tanggal/waktu |
DATE_FORMAT() | : Menampilkan tanggal dan atau waktu dengan format yang berbeda |
1. NOW(), CURDATE(), CURTIME()
Untuk menggunakan fungsi Now(), Curdate(), Curtime() silakan ketik pada SQL Query dengan perintah:SELECT NOW(),CURDATE(),CURTIME()
akan menghasilkan seperti ini:
NOW() | CURDATE() | CURTIME() |
---|---|---|
2014-11-22 12:45:34 | 2014-11-22 | 12:45:34 |
2. DATE()
Misalkan kita memiliki tabel "t_order" dengan field "id", "nmproduk", dan "tanggal" dimana field "tanggal" memiliki tipe data DATETIME atau TIMESTAMP. Kemudian kita asumsikan dalam tabel tersebut memiliki data sebagai berikut:
id | nmproduk | tanggal |
---|---|---|
1 | Pisang Goreng | 2014-11-22 12:45:34 |
Kemudian kita ketik perintah berikut:
SELECT nmproduk,DATE(tanggal) AS tanggalan FROM t_order WHERE id=1
maka akan menghasilkan:
nmproduk | tanggalan |
---|---|
Pisang Goreng | 2014-11-22 |
3. EXTRACT()
Kita asumsikan memiliki data tabel order seperti di atas, dengan dengan isi tabel:id | nmproduk | tanggal |
---|---|---|
1 | Pisang Goreng | 2014-11-22 12:45:34 |
Perintah yang digunakan untuk menggunakan fungsi extract() adalah:
EXTRACT(tipe FROM tanggal)
dimana tipe adalah MICROSECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR, SECOND_MICROSECOND, MINUTE_MICROSECOND, MINUTE_SECOND, HOUR_MICROSECOND, HOUR_SECOND, HOUR_MINUTE, DAY_MICROSECOND, DAY_SECOND, DAY_MINUTE, DAY_HOUR, YEAR_MONTH.
Sedangkan tanggal merupakan nama field dari tabel "t_order".
Dari asumsi data di atas, ketikkan perintah SQL berikut:
SELECT EXTRACT(YEAR FROM tanggal) AS tahun,EXTRACT(MONTH FROM tanggal) AS bulan,EXTRACT(DAY FROM tanggal) AS hari FROM t_order WHERE id=1
akan menghasilkan:
tahun | bulan | hari |
---|---|---|
2014 | 11 | 22 |
4. DATE_ADD()
Menambahkan interval waktu yang spesifik. Untuk menggunakan fungsi date_add() dapat digunakan perintah:
DATE_ADD (tanggal, INTERVAL nilai TIPE)
Dimana:
a. tanggal adalah nama field dari sebuah tabel.
b. nilai adalah besarnya nilai yang ingin ditambahkan.
b. nilai adalah besarnya nilai yang ingin ditambahkan.
c. tipe adalah tipe dari nilai yang ingin ditambahkan. tipe yang digunakan pada DATE_ADD() sama dengan tipe yang digunakan pada EXTRACT().
Contoh Penggunaan:
Kita mengasumsikan memiliki tabel "t_order" dengan data sebagai berikut:
id | nmproduk | tanggal |
---|---|---|
1 | Pisang Goreng | 2014-11-22 12:45:34 |
Kemudian ketik perintah berikut:
SELECT id,DATE_ADD(tanggal,INTERVAL 30 DAY) AS tanggalan FROM t_order
id | tanggalan |
---|---|
1 | 2014-12-22 12:45:34 |
Bulan akan bertambah 1 dari semula bulan 11 menjadi bulan 12.
5. DATE_SUB()
Fungsinya untuk mengurangi interval waktu yang spesifik. Untuk menggunakan fungsi DATE_SUB(), struktur perintahnya SAMA dengan perintah DATE_ADD(). Hanya saja kata DATE_ADD diganti dengan DATE_SUB.
Contoh Penggunaan:
Kita mengasumsikan memiliki tabel "t_order" dengan data sebagai berikut:
id | nmproduk | tanggal |
---|---|---|
1 | Pisang Goreng | 2014-11-22 12:45:34 |
Kemudian ketik perintah berikut:
SELECT id,DATE_SUB(tanggal,INTERVAL 8 DAY) AS tanggalan FROM t_order
maka akan menghasilkan:
id | tanggalan |
---|---|
1 | 2014-12-14 12:45:34 |
Hari akan berkurang 8 dari semula 22 menjadi 14.
6. DATEDIFF()
Digunakan untuk menghitung jarak atau selisih antara dua tanggal/waktu. Struktur kodenya adalah sebagai berikut:
SELECT DATEDIFF(TGL1,TGL2)
Contoh penggunaan:
SELECT DATEDIFF('2017-11-22','2017-11-09') AS SELISIH
SELISIH |
---|
13 |
Untuk menggunakan fungsi DATE_FORMAT(), struktur kodenya adalah:
SELECT DATE_FORMAT(TGL, FORMAT)
dimana TGL adalah tanggal yang akan diformat, sedangkan FORMAT adalah jenis format yang akan digunakan sebagai output.
Format tanggal yang dapat digunakan adalah sebagai berikut:
Format | Description |
---|---|
%a | Nama hari pendek (Sun-Sat) |
%b | Nama bulan pendek (Jan-Dec) |
%c | Bulan, dalam bentuk angka (0-12) |
%D | Hari dalam bulan berbentuk suffix (0th, 1st, 2nd, 3rd, dst) |
%d | Hari dalam bulan, berbentuk angka 2 digit (00-31) |
%e | Hari dalam bulan berbentuk angka biasa (0-31) |
%f | Microseconds (000000-999999) |
%H | Jam (00-23) |
%h | Jam (01-12) |
%I | Jam (01-12) |
%i | Minutes, numeric (00-59) |
%j | Day of year (001-366) |
%k | Hour (0-23) |
%l | Hour (1-12) |
%M | Nama bulan (January-December) |
%m | Bulan dalam bentuk angka 2 digit (00-12) |
%p | AM or PM |
%r | Waktu, 12-jam (hh:mm:ss diikuti AM atau PM) |
%S | Detik (00-59) |
%s | Detik (00-59) |
%T | Waktu, 24-jam (hh:mm:ss) |
%U | Mingguan (00-53) dimana hari minggu adalah hari pertama |
%u | Mingguan (00-53) dimana hari senin adalah hari pertama |
%V | Mingguan (01-53) dimana hari minggu adalah hari pertama, digunakan bersama %X |
%v | Mingguan (01-53) dimana hari senin adalah hari pertama, digunakan bersama %x |
%W | Nama hari (Sunday-Saturday) |
%w | Angka hari (0=Sunday, 6=Saturday) |
%X | Tahun untuk minggu dimana hari minggu adalah hari pertama, 4 digit digunakan bersama %V |
%x | Tahun untuk minggu dimana hari minggu adalah hari pertama, 4 digit digunakan bersama %v |
%Y | Tahun, angka, 4 digit (2017 |
%y | Tahun, angka, 2 digit (17) |
Contoh penggunaan:
SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p');SELECT DATE_FORMAT(NOW(),'%m-%d-%Y');SELECT DATE_FORMAT(NOW(),'%d %b %y');SELECT DATE_FORMAT(NOW(),'%d %b %Y %T:%f');
akan menghasilkan output:
Feb 27 2017 05:55 PM
02-27-2017
27 Feb 17
27 Feb 2017 17:56:40:000000
Demikian pengenalan fungsi tanggal yang digunakan database MySQL. Semoga artikel ini bermanfaat dan menambah wawasan serta memberikan solusi bagi pembaca sahabat SB semua.
Kritik dan saran yang membangun sangat diharapkan. Terima kasih.
0 komentar:
Post a Comment
Kritik dan saran yang membangun kami harapkan!