Kita dapat menggunakan DATE()
dari SQLite berfungsi untuk melakukan perhitungan pada tanggal tertentu. Salah satu hal yang dapat kita lakukan adalah mengembalikan kejadian pertama, kedua, ketiga, atau keempat pada hari tertentu dalam bulan tertentu.
Contoh
Berikut ini contoh untuk didemonstrasikan:
SELECT
DATE('2025-10-20', 'start of month', 'weekday 1') AS "First",
DATE('2025-10-20', 'start of month', '+7 days', 'weekday 1') AS "Second",
DATE('2025-10-20', 'start of month', '+14 days', 'weekday 1') AS "Third",
DATE('2025-10-20', 'start of month', '+21 days', 'weekday 1') AS "Fourth",
DATE('2025-10-20', 'start of month', '+28 days', 'weekday 1') AS "Fifth";
Hasil:
First Second Third Fourth Fifth ---------- ---------- ---------- ---------- ---------- 2025-10-06 2025-10-13 2025-10-20 2025-10-27 2025-11-03
Dalam contoh ini, tanggal mulai sama untuk semua instance, serta sebagian besar argumen. Satu-satunya hal yang berubah adalah berapa banyak yang kita tambahkan ke awal bulan. Jika kami tidak menambahkan apa pun, kami dapat mengembalikan Senin pertama, menambahkan 7 hari mengembalikan Senin kedua, dan seterusnya.
Di sini, kami menggunakan start of month
untuk mengembalikan tanggal kembali ke hari pertama bulan itu. Kami kemudian menggunakan lebih banyak pengubah untuk memodifikasi tanggal tersebut.
weekday 1
modifier memindahkan tanggal ke hari Senin berikutnya (Minggu adalah 0, Senin adalah 1, Selasa adalah 2, dan seterusnya).
Untuk mendapatkan Senin kedua kita bisa menggunakan +7 days
untuk memajukan tanggal satu minggu ke depan. Untuk hari Senin berikutnya kami menambahkan 7 hari ke angka tersebut (+14 days
, +21 days
, +28 days
dll).
Kita juga dapat melihat bahwa penambahan 28 hari menghasilkan Senin pertama bulan berikutnya.