Cara menggunakan select bulan di mysql

Menu Utama

Konsep Umum

Lain-lain

Business Intelligence (BI)

Training BI & SQL

Cara menggunakan select bulan di mysql

Situs Terkait

Menambahkan dan Mengurangi Waktu di MySQL

Pendahuluan

Ada beberapa cara untuk menambahkan tanggal dan jam tertentu di MySQL, yaitu  :

  1. Menggunakan operator plus (+) dan  minus (-) diikuti keyword INTERVAL dan unit dari Interval.
  2. Menggunakan fungsi-fungsi berikut :
    • DATE_ADD, digunakan untuk menambahkan jumlah hari atau interval waktu pada tanggal tertentu.
    • DATE_SUB, digunakan untuk mengurangi interval waktu pada tanggal tertentu.
    • ADDDATE, digunakan untuk menambahkan jumlah hari atau interval waktu pada tanggal tertentu.
    • SUBDATE,digunakan untuk mengurangi jumlah hari atau interval waktu pada tanggal tertentu.
    • SUBTIME, digunakan untuk mengurangi dari dua ekspresi waktu (time atau datetime).
    • PERIOD_ADD, menambahkan jumlah bulan pada periode tertentu. Periode tersebut dalam format YYMM atau YYYYMM.

Bagian berikut di bawah menunjukkan contoh-contoh penggunaan dari operator dan fungsi tersebut di atas.

Menggunakan Operator Plus dan Minus

Contoh penggunaannya operator plus minus ( + / - ) adalah sebagai berikut :

SELECT '2010-01-01 00:00:00' + INTERVAL 1 DAY; -- Menambahkan 1 hari

SELECT '2010-01-01 00:00:00' - INTERVAL '30' MINUTE; -- Mengurangi 30 menit

SELECT '2010-01-01 00:00:00' - INTERVAL '1-3' YEAR_MONTH; -- Mengurangi 1 tahun dan 3 bulan

SELECT '2010-01-01' + INTERVAL '2' MONTH; -- Menambahkan 2 bulan

SELECT '2010-01-01' + INTERVAL '2-6' YEAR_MONTH; -- Menambahkan 2 tahun dan 6 bulan

SELECT '2010-01-01' - INTERVAL '1-3' YEAR_MONTH; -- Mengurangi 1 tahun dan 3 bulan

-- Menambahkan interval 3 tahun pada field tgl_transaksi dari database PHI-Minimart

SELECT tgl_transaksi + INTERVAL '3' YEAR from tr_penjualan;

Untuk rincian mengenai INTERVAL, silahkan klik halaman wiki pada link ini. 

Penggunaan DATE_ADD

DATE_ADD(date, INTERVAL expr unit)


SELECT DATE_ADD('2010-01-01', INTERVAL 3 MINUTE); -- menambahkan 3 minute
SELECT DATE_ADD('2010-01-01 00:00:00', INTERVAL '2-6' YEAR_MONTH); -- menambahkan 2 tahun 6 bulan

-- Menambahkan 12 jam pada field tgl_transaksi pada table tr_penjualan di database PHI-Minimart
SELECT DATE_ADD(tgl_transaksi, INTERVAL 12 HOUR) FROM tr_penjualan;

Penggunaan DATE_SUB

DATE_SUB(date, INTERVAL expr unit)


Contoh :

SELECT DATE_SUB('2010-01-01', INTERVAL 3 MINUTE); -- mengurangi 3 minute
SELECT DATE_SUB('2010-01-01 00:00:00', INTERVAL '2-2' YEAR_MONTH); -- mengurangi 2 tahun 2 bulan

-- Mengurangi 12 jam pada field tgl_transaksi pada table tr_penjualan di database PHI-Minimart
SELECT DATE_SUB(tgl_transaksi, INTERVAL 12 HOUR) FROM tr_penjualan;

Penggunaan ADDDATE

Ada 2 jenis syntax yang berlaku untuk fungsi ADDDATE ini, yaitu :

ADDDATE(date, INTERVAL expr unit)

SELECT ADDDATE('2010-01-01', INTERVAL 3 MINUTE); -- menambahkan 3 minute
SELECT ADDDATE('2010-01-01 00:00:00', INTERVAL '2-2' YEAR_MONTH); -- menambahkan 2 tahun 2 bulan
SELECT ADDDATE('2010-01-01 00:00:00', 3); -- menambahkan 3 hari

-- Menambahkan 12 jam pada field tgl_transaksi pada table tr_penjualan di database PHI-Minimart
SELECT ADDDATE(tgl_transaksi, INTERVAL 12 HOUR) FROM tr_penjualan;

-- Menambahkan 7 hari pada field tgl_transaksi pada table tr_penjualan di database PHI-Minimart
SELECT ADDDATE(tgl_transaksi, 7) FROM tr_penjualan;

Penggunaan SUBDATE

SUBDATE(date, INTERVAL expr unit)

atau

SUBDATE(expr, days)


SELECT SUBDATE('2010-01-01', INTERVAL 3 MINUTE); -- mengurangi  3 minute
SELECT SUBDATE('2010-01-01 00:00:00', INTERVAL '2-2' YEAR_MONTH); -- mengurangi  2 tahun 2 bulan
SELECT SUBDATE('2010-01-01 00:00:00', 3); -- mengurangi 3 hari

-- Mengurangi 12 jam pada field tgl_transaksi pada table tr_penjualan di database PHI-Minimart
SELECT SUBDATE(tgl_transaksi, INTERVAL 12 HOUR) FROM tr_penjualan;

-- Mengurangi 7 hari pada field tgl_transaksi pada table tr_penjualan di database PHI-Minimart
SELECT SUBDATE(tgl_transaksi, 7) FROM tr_penjualan;

Penggunaan SUBTIME

SUBTIME(ekspresi_tanggal_waktu, ekspresi_waktu)

SELECT SUBTIME('2010-01-01 00:00:00', '11:00:00'); -- mengurangi 12 jam
SELECT SUBTIME('2010-01-01 12:00:00', '1'); -- mengurangi 1 detik
SELECT SUBTIME('2010-01-01 12:00:00', '1:0:0.000000'); -- mengurangi 1 jam
SELECT SUBTIME('2010-01-01 12:00:00', '1:1'); -- mengurangi 1 jam dan 1 menit
SELECT SUBTIME('2010-01-01 12:00:00', '1 1:1'); -- mengurangi 1 hari, 1 jam dan 1 menit

Penggunaan PERIOD_ADD

PERIOD_ADD(year_month_period, months)

Keterangan : 

  • year_month_period adalah dalam format YYMM atau YYYYMM.

Contoh :

SELECT PERIOD_ADD('201001',3); -- Menambahkan 3 bulan pada Januari 2010
SELECT PERIOD_ADD('1001',3); -- Menambahkan 3 bulan pada Januari 2010
SELECT PERIOD_ADD('201001',-3); -- Mengurangi 3 bulan pada Januari 2010

Sumber Referensi

  • http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html