开始使用免费开始使用

按一天中的时间对违停记录进行分类

有人担心一天中开具违停罚单的时间分布不均。您的任务是将违停记录与开具时段关联。您认为最简单的方法是创建一个名为 morning 的新列。若罚单在上午开具(从 12:00 AM 到 11:59 AM),该字段填入整数 1;否则填入整数 0。开具时间记录在 parking_violation 表的 violation_time 列中。该列由 4 位数字,后接一个 A(表示 AM)或 P(表示 PM)组成。

在本练习中,您将通过匹配上午时段的 violation_time 模式来填充 morning 列。

本练习是课程的一部分

在 PostgreSQL 数据库中清理数据

查看课程

练习说明

  • 在子查询中使用正则表达式模式 '\d\d\d\dA',以匹配由 4 个连续数字(\d)后接大写字母 Aviolation_time 值。
  • 编辑 CASE 子句:当正则表达式匹配时,将 morning 列填入 1(不加引号的整数)。
  • 编辑 CASE 子句:当正则表达式不匹配时,将 morning 列填入 0(不加引号的整数)。

交互式实操练习

通过完成这段示例代码来试试这个练习。

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;
编辑并运行代码