Chuyển kiểu với mệnh đề CASE
Một trong các thuộc tính parking_violation của mỗi bản ghi là vị trí của phương tiện so với địa chỉ đường phố nơi xảy ra vi phạm. Giá trị 'F' trong cột violation_in_front_of_or_opposite cho biết phương tiện đỗ phía trước địa chỉ đã ghi nhận. Giá trị 'O' cho biết phương tiện ở phía đối diện của con đường. Cột này dùng kiểu TEXT để biểu diễn giá trị. Cùng thông tin đó có thể được lưu bằng giá trị BOOLEAN (true/false) giúp tiết kiệm bộ nhớ hơn.
Trong bài tập này, bạn sẽ chuyển violation_in_front_of_or_opposite thành một cột BOOLEAN tên is_violation_in_front bằng cách dùng mệnh đề CASE. Cột này có giá trị true cho các bản ghi xảy ra phía trước địa chỉ đã ghi nhận và false cho các bản ghi xảy ra ở phía đối diện địa chỉ đã ghi nhận.
Bài tập này là một phần của khóa học
Làm sạch dữ liệu trong cơ sở dữ liệu PostgreSQL
Hướng dẫn bài tập
- Thêm một điều kiện trong CASE để đặt giá trị
is_violation_in_frontlàtruekhiviolation_in_front_of_or_oppositebằng'F'đối với bản ghi. - Thêm một điều kiện khác để đặt giá trị
is_violation_in_frontlàfalsekhiviolation_in_front_of_or_oppositebằng'O'đối với bản ghi.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
SELECT
CASE WHEN
-- Use true when column value is 'F'
___ = ___ THEN ___
WHEN
-- Use false when column value is 'O'
___ = ___ THEN ___
ELSE
NULL
END AS ___
FROM
parking_violation;