Masih berlanjut saya memberikan beberapa hal mengenai cara mendapatkan informasi dari sebuah tabel. Setelah sebelumnya beberapa hal terkait kombinasi data berikut ini saya akan menggunakan salah satu fungsi MySQL untuk melakukan penghitungan waktu dari data tabel, misalnya untuk menghitung umur dari tahun lahir hingga waktu sekarang. Adapun fungsi yang dimaksud yaitu TIMESTAMPDIFF(), berikut ini contohnya:
mysql> SELECT name, birth, CURDATE(),
-> TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age
-> FROM human;
-> TIMESTAMPDIFF(YEAR,birth,CURDATE()) AS age
-> FROM human;
Query di atas akan menampilkan umur dari nama seseorang, maksudnya jika "Bob" yang lahir tahun 03-03-1990 dan dihitung umurnya dengan tanggal saat ini yaitu tahun 2015 maka hasil hitungan tersebut akan ditampilkan dikolom age dengan umur Bob 25 tahun. Jangan lupa gunakan klausa ORDER BY untuk mendapatkan hasil yang lebih tersortir.
Contoh lainnya dengan fungsi penghitungan waktu dapat melalukan pemeriksaan data seseorang yang akan berulang tahun. Misalnya mencari seseorang yang akan berulang tahun bulan depan dengan asumsi saat ini adalah bulan 8 (agustus) dan yang dicari yaitu ulang tahun bulan 9 (september) maka query yang dibuat seperti berikut ini:
mysql> SELECT name, birth FROM human WHERE MONTH(birth) = 9;
Dari query diatas tampak penggunaan fungsi MONTH(), memang di MySQL terdapat beberapa fungsi terkait dengan penghitungan waktu diantaranya YEAR(), MONTH(), DAYOFMONTH() dan masih banyak lainnya. Penggunaan fungsi MONTH tidak disarankan karena menggunakan bilangan angka terhadap bulan, bila bulan sekarang adalah 12 (desember) dan ingin mencari bulan januari maka akan menjadi bulan (13) tentunya tidak ada bulan 13. Untuk mengatasi hal ini maka cara yang direkomendasikan yaitu menggunakan fungsi DATE_ADD(), berikut ini contoh untuk mengatasi bulan 12 ke bulan 1:
mysql> SELECT name, birth FROM human
-> WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(), INTERVAL 1 MONTH));
-> WHERE MONTH(birth) = MONTH(DATE_ADD(CURDATE(), INTERVAL 1 MONTH));
Terdapat juga cara serupa namun menggunakan fungsi yang berbeda yaitu MOD(), berikut ini contoh query modulo:
mysql> SELECT name, birth FROM human
-> WHERE MONTH(birth) = MOD(MONT(CURDATE(), 12) + 1);
-> WHERE MONTH(birth) = MOD(MONT(CURDATE(), 12) + 1);
Demikianlah dasar mengenai cara mendapatkan informasi dari sebuah tabel, masih terdapat banyak cara dan fungsi yang bisa digunakan, bisa dipraktekkan secara langsung untuk mengetahuinya, dan rajinlah mencoba sesuatu yang baru. Semoga bermanfaat..
mantap...
ReplyDelete