Welcome

Welcome, thanks to look my blog

Monday, 22 February 2016

Menambahkan dan Mengurangi Waktu di MySQL

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

Syntax :

DATE_ADD(date, INTERVAL expr unit)

Contoh :

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

Syntax :

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)

atau

ADDDATE(expr, days)

Contoh :
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

Syntax :
SUBDATE(date, INTERVAL expr unit)

atau

SUBDATE(expr, days)

Contoh :
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

Syntax :
SUBTIME(ekspresi_tanggal_waktu, ekspresi_waktu)

Contoh :

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

Penggunaan PERIOD_ADD

Syntax :
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


No comments:

Post a Comment