Menu
CoddyTech

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:

  1. DATE() - Mengubah string menjadi tanggal
  2. STRFTIME() - Memformat tanggal sesuai parameter yang ditentukan
  3. DATE('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 ini

Sebagai 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')
challenge icon

Tantangan

Mudah

Tabel 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

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Playground SQL