Dalam SQLite, kita dapat menggunakan DATE()
berfungsi untuk menambahkan satu bulan atau lebih ke sebuah tanggal.
Saat kita berurusan dengan nilai datetime, kita dapat menggunakan DATETIME()
fungsi.
Contoh
Berikut ini contoh yang menggunakan DATE()
fungsi:
SELECT DATE('2050-08-21', '+1 month');
Hasil:
2050-09-21
Jika kita ingin mengurangi jumlahnya, kita bisa mengganti +
dengan -
.
Juga, hilangkan +
sebagian menghasilkan jumlah yang ditambahkan, seolah-olah kita menggunakan +
:
SELECT DATE('2050-08-21', '1 month');
Hasil:
2050-09-21
Kita dapat menentukan bulan dalam bentuk jamak atau non jamak. Dengan kata lain, month
setara dengan month
:
SELECT
DATE('2050-08-21', '+3 month') AS month,
DATE('2050-08-21', '+3 months') AS months;
Hasil:
month months ---------- ---------- 2050-11-21 2050-11-21
Ditentukan dalam Hari
Sebagai alternatif, kami dapat menambahkan satu bulan atau lebih ke tanggal berdasarkan jumlah hari:
SELECT DATE('2050-08-21', '+31 days');
Hasil:
2050-09-21
Meskipun, ingatlah bahwa ini akan mengharuskan Anda tahu persis berapa hari yang sesuai untuk bulan-bulan yang terlibat. Beberapa bulan memiliki 30 hari, beberapa memiliki 31, dan Februari memiliki 28 atau 29, tergantung apakah itu tahun kabisat atau tidak.
Dengan month
/month
pengubah, SQLite menormalkan tanggal, berdasarkan jumlah hari dalam bulan yang relevan.
Berikut perbandingan bulan vs hari saat menambahkan tanggal di bulan Maret:
SELECT
DATE('2050-03-31', '+1 month') AS "1 month",
DATE('2050-03-31', '+30 days') AS "30 days",
DATE('2050-03-31', '+31 days') AS "31 days";
Hasil:
1 month 30 days 31 days ---------- ---------- ---------- 2050-05-01 2050-04-30 2050-05-01
Dan inilah perbandingan yang sama saat menambahkan tanggal di bulan September:
SELECT
DATE('2050-09-30', '+1 month') AS "1 month",
DATE('2050-09-30', '+30 days') AS "30 days",
DATE('2050-09-30', '+31 days') AS "31 days";
Hasil:
1 month 30 days 31 days ---------- ---------- ---------- 2050-10-30 2050-10-30 2050-10-31
DATETIME()
Fungsi
Berikut adalah contoh yang menunjukkan cara menggunakan DATETIME()
fungsi untuk menambahkan satu bulan ke nilai datetime:
SELECT DATETIME('2050-08-21', '+1 month');
Hasil:
2050-09-21 00:00:00
Dalam hal ini, saya melewatkan nilai tanggal, tetapi fungsi mengembalikan nilai waktu-tanggal.
Berikut contoh lain, kali ini dengan nilai datetime:
SELECT DATETIME('2050-08-21 18:30:45', '+1 month');
Hasil:
2050-09-21 18:30:45