Materi
SQLite tidak punya tipe tanggal tersendiri. Tanggal disimpan sebagai teks berformat yyyy-mm-dd mengikuti ISO 8601, dan urutan itu dipilih karena pengurutan teksnya sama dengan pengurutan waktunya. date(nilai, pengubah) menghitung tanggal baru dari tanggal lama: date(tanggal, '+7 day') menambah tujuh hari, '+1 month' menambah satu bulan, dan 'start of month' memundurkan ke tanggal satu.
SELECT id, tanggal, date(tanggal, '+7 day') AS jatuh_tempo FROM pesanan;strftime(format, nilai) mengambil bagian tanggal sebagai teks: '%Y' tahun, '%m' bulan dua digit, '%d' tanggal, '%Y-%m' periode bulanan. Dua fungsi ini menjawab sebagian besar pekerjaan tanggal di kantor. Pada tabel faktur, SELECT nomor, date(tanggal, '+30 day') AS jatuh_tempo, strftime('%Y-%m', tanggal) AS periode FROM faktur sekaligus menghitung tenggat pembayaran dan memberi kolom periode yang dipakai untuk rekap bulanan.
Pengubah boleh ditulis lebih dari satu, dan SQLite menerapkannya berurutan dari kiri ke kanan, masing-masing pada hasil pengubah sebelumnya. Urutan itu menentukan hasil: date('2026-02-10', 'start of year', '+1 month') mundur dulu ke 1 Januari lalu maju sebulan menjadi 2026-02-01, sedangkan urutan terbalik menghasilkan 2026-01-01.
SELECT strftime('%m', tanggal) AS bulan, COUNT(*) AS jumlah
FROM pesanan GROUP BY bulan;