开始使用免费开始使用

使用 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 数据库中清理数据

查看课程

练习说明

  • 添加一个条件:当记录的 violation_in_front_of_or_opposite 值等于 'F' 时,将 is_violation_in_front 的值设为 true
  • 再添加一个条件:当记录的 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;
编辑并运行代码