Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Thêm một điều kiện trong CASE để đặt giá trị is_violation_in_fronttrue khi violation_in_front_of_or_opposite bằng 'F' đối với bản ghi.
  • Thêm một điều kiện khác để đặt giá trị is_violation_in_frontfalse khi violation_in_front_of_or_opposite bằ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;
Chỉnh sửa và Chạy Mã