Mengklasifikasikan pelanggaran parkir berdasarkan waktu dalam sehari
Ada kekhawatiran bahwa surat tilang parkir tidak dikeluarkan secara merata sepanjang hari. Anda ditugaskan untuk mengaitkan pelanggaran parkir dengan waktu penerbitannya. Anda menentukan bahwa cara paling sederhana untuk menyelesaikan tugas ini adalah membuat kolom baru bernama morning. Kolom ini akan diisi dengan (integer) 1 jika pelanggaran diterbitkan di pagi hari (antara pukul 12.00 AM dan 11.59 AM), dan (integer) 0 jika selain itu. Waktu penerbitan dicatat di kolom violation_time pada tabel parking_violation. Kolom ini terdiri dari 4 digit yang diikuti oleh A (untuk AM) atau P (untuk PM).
Dalam latihan ini, Anda akan mengisi kolom morning dengan mencocokkan pola untuk violation_time yang terjadi di pagi hari.
Latihan ini merupakan bagian dari kursus
Membersihkan Data di Database PostgreSQL
Instruksi latihan
- Gunakan pola regular expression
'\d\d\d\dA'dalam subkueri untuk mencocokkan nilaiviolation_timeyang terdiri dari 4 digit berurutan (\d) yang diikuti huruf kapitalA. - Sunting klausa
CASEuntuk mengisi kolommorningdengan1(integer tanpa tanda kutip) saat regular expression cocok. - Sunting klausa
CASEuntuk mengisi kolommorningdengan0(integer tanpa tanda kutip) saat regular expression tidak cocok.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
SELECT
summons_number,
CASE WHEN
summons_number IN (
SELECT
summons_number
FROM
parking_violation
WHERE
-- Match violation_time for morning values
___ SIMILAR TO ___
)
-- Value when pattern matched
THEN ___
-- Value when pattern not matched
ELSE ___
END AS morning
FROM
parking_violation;