เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การจำแนกใบสั่งจอดรถตามช่วงเวลาของวัน

มีข้อกังวลว่าการออกใบสั่งจอดรถอาจไม่สม่ำเสมอตลอดทั้งวัน คุณได้รับมอบหมายให้ระบุว่าใบสั่งแต่ละใบออกในช่วงเวลาใดของวัน วิธีที่ง่ายที่สุดคือสร้างคอลัมน์ใหม่ชื่อ morning โดยคอลัมน์นี้จะมีค่า (จำนวนเต็ม) 1 หากใบสั่งออกในช่วงเช้า (ตั้งแต่ 12:00 AM ถึง 11:59 AM) และมีค่า (จำนวนเต็ม) 0 ในกรณีอื่น เวลาที่ออกใบสั่งบันทึกไว้ในคอลัมน์ violation_time ของตาราง parking_violation ซึ่งประกอบด้วยตัวเลข 4 หลักตามด้วย A (สำหรับ AM) หรือ P (สำหรับ PM)

ในแบบฝึกหัดนี้ คุณจะกำหนดค่าให้คอลัมน์ morning โดยใช้การจับคู่ pattern สำหรับ violation_time ที่เกิดขึ้นในช่วงเช้า

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การทำความสะอาดข้อมูลในฐานข้อมูล PostgreSQL

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ใช้ pattern นิพจน์ปกติ '\d\d\d\dA' ใน sub-query เพื่อจับคู่ค่า violation_time ที่ประกอบด้วยตัวเลข 4 หลักติดกัน (\d) ตามด้วยตัวอักษร A พิมพ์ใหญ่
  • แก้ไขส่วน CASE เพื่อกำหนดค่า 1 (จำนวนเต็ม ไม่ใส่เครื่องหมายคำพูด) ให้คอลัมน์ morning เมื่อ pattern ตรงกัน
  • แก้ไขส่วน CASE เพื่อกำหนดค่า 0 (จำนวนเต็ม ไม่ใส่เครื่องหมายคำพูด) ให้คอลัมน์ morning เมื่อ pattern ไม่ตรงกัน

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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;
แก้ไขและรันโค้ด