Menangani Tanggal Bagian 3
Termasuk bagian Dasar-Dasar dalam perjalanan SQL di Coddy. Pelajaran 33 dari 72.
SQL menyediakan beberapa fungsi yang berguna untuk mengolah dan memformat tanggal. Berikut beberapa fungsi tanggal yang umum:
DATE()- Mengubah string menjadi tanggalSTRFTIME()- Memformat tanggal sesuai parameter yang ditentukanDATE('now')- Mendapatkan tanggal saat ini:
Sebagai contoh, ubah string menjadi tanggal:
SELECT DATE('2023-05-15 13:45:00')
-- Mengembalikan: 2023-05-15
SELECT DATE('now')
-- Mengembalikan tanggal saat iniSebagai contoh, ekstrak tahun, bulan, dan hari dari tanggal:
-- Ambil tahun
SELECT STRFTIME('%Y', '2023-05-15')
-- Menghasilkan: 2023
-- Ambil bulan
SELECT STRFTIME('%m', '2023-05-15')
-- Menghasilkan: 05
-- Ambil tanggal
SELECT STRFTIME('%d', '2023-05-15')
-- Menghasilkan: 15
-- Tampilkan gabungan tahun dan tanggal (kamu bisa menggunakan pemisah apa saja)
SELECT STRFTIME('%Y:%d', '2023-05-15')
-- Menghasilkan: 2023:15
-- Gunakan tanda hubung sebagai pemisah
SELECT STRFTIME('%d-%m-%Y', '2023-05-15')
-- Menghasilkan: 15-05-2023
-- Ambil hari dalam seminggu
SELECT STRFTIME('%w', '2023-05-15')
-- Menghasilkan: 1 (Senin; Minggu adalah 0)Penentu format yang umum:
- %Y: Tahun (4 digit)
- %m: Bulan (01-12)
- %d: Tanggal dalam bulan (01-31)
- %w: Hari dalam minggu (0-6, Minggu adalah 0)
- %H: Jam (00-23)
- %M: Menit (00-59)
- %S: Detik (00-59)
Kamu bisa menggunakan karakter pemisah apa pun di antara penentu (misalnya, -, :, /). Misalnya, STRFTIME('%d-%m-%Y', date) dan STRFTIME('%d:%m:%Y', date) sama-sama menggabungkan tanggal, bulan, dan tahun, hanya dengan pemisah yang berbeda.
Kamu dapat menggabungkan fungsi-fungsi ini dalam kueri:
-- Temukan semua catatan dari tahun ini
SELECT * FROM table1
WHERE STRFTIME('%Y', date_column) = STRFTIME('%Y', 'now')Tantangan
MudahTabel dan kolom yang tersedia:
events:id,start,end
Tulis query yang menampilkan:
- ID event
- Tanggal mulai dengan format "DD-MM-YYYY". Beri nama kolom ini
formatted_start - Tanggal berakhir dengan format "DD-MM-YYYY". Beri nama kolom ini
formatted_end - Durasi dalam hari antara tanggal mulai dan berakhir, dibulatkan ke bilangan bulat terdekat. Beri nama kolom ini
duration_days
Filter hanya baris yang tahunnya pada kolom start adalah 2009 (STRFTIME() mengembalikan string, bukan angka).
Urutkan hasil berdasarkan durasi dalam hari secara menurun.
Pengingat: Untuk menghitung selisih antara tanggal, gunakan: JULIANDAY(end) - JULIANDAY(start) dan gunakan ROUND() untuk membulatkan ke bilangan bulat.
Coba sendiri
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar
4Kata Kunci Lainnya
Kata kunci INKata kunci BETWEENKata kunci LIKEKata kunci ASRangkuman: Model Ponsel2Kondisi
Dasar KondisiKata Kunci ANDKata Kunci ORKata Kunci NOTMenggabungkan Beberapa KondisiTanda KurungNilai Boolean3Format Pengembalian Khusus
Nilai nullUrutkan Hasil Bagian 1Urutkan Hasil Bagian 2Ulasan: Perusahaan Keamanan SiberBatasi Jumlah RecordUlasan: Pabrik Kendaraan6Tantangan Pengantar
Ulasan: Pemilihan ParlemenUlasan: Polisi Menangkap Pelaku KejahatanUlasan: Wadah Minuman BarUlasan: Insinyur Membuat Kolom BaruLatihan sendiri: Playground SQL