開始使用免費開始

使用 CASE 子句進行型別轉換

每筆 parking_violation 紀錄都包含一個欄位,描述車輛相對於違規地址的位置。violation_in_front_of_or_opposite 欄位中的 'F' 代表車輛在該地址「前方」,'O' 代表車輛在道路「對面」。此欄位目前以 TEXT 型別儲存。不過,同樣的資訊也可以用 BOOLEANtrue/false)來表示,且更省記憶體。

在這個練習中,你會使用 CASE 子句,將 violation_in_front_of_or_opposite 轉換為名為 is_violation_in_frontBOOLEAN 欄位。當紀錄顯示車輛在該地址前方時,此欄位為 true;當車輛在該地址對面時,則為 false

本練習屬於課程

清理 PostgreSQL 資料庫中的資料

檢視課程

練習說明

  • 加入一個 case 條件:當紀錄中的 violation_in_front_of_or_opposite 等於 'F' 時,將 is_violation_in_front 設為 true
  • 再加入另一個 case 條件:當紀錄中的 violation_in_front_of_or_opposite 等於 'O' 時,將 is_violation_in_front 設為 false

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

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;
編輯並執行程式碼