การใช้ฟังก์ชันสำหรับทำความสะอาดข้อความ
ตลอดคอร์สนี้ เราจะใช้ชุดข้อมูลบันทึกการละเมิดกฎจราจร 5,000 รายการของนิวยอร์กซิตี้ ซึ่งเก็บอยู่ในตาราง parking_violation
ขณะนี้กำลังมีการออกแบบบริการส่งสำเนาใบสั่งให้กับผู้ได้รับใบสั่งใหม่ เพื่อให้รายงานมีรูปแบบที่ถูกต้อง จึงต้องปรับบางฟิลด์จากข้อมูลในฐานข้อมูล โดยมีรายละเอียดดังนี้:
- เพื่อให้ข้อความบนแบบฟอร์มเรียงตัวได้อย่างถูกต้อง ค่าในคอลัมน์
violation_locationต้องมีความยาว 4 ตัวอักษร - ค่า
P-U(รถกระบะ) ทั้งหมดในคอลัมน์vehicle_body_typeควรเปลี่ยนเป็นTRK - คำในคอลัมน์
street_nameควรขึ้นต้นด้วยตัวพิมพ์ใหญ่เฉพาะตัวอักษรแรกของแต่ละคำเท่านั้น
การเปลี่ยนแปลงเหล่านี้จะทำโดยใช้ฟังก์ชัน LPAD(), REPLACE() และ INITCAP()
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลในฐานข้อมูล PostgreSQL
คำแนะนำการฝึกหัด
- ใช้ฟังก์ชัน
LPAD()เติม'0'ด้านหน้าค่าviolation_locationที่มีความยาวน้อยกว่า 4 หลัก - ใช้ฟังก์ชัน
REPLACE()แทนที่'P-U'ด้วย'TRK'ในคอลัมน์vehicle_body_type - ใช้ฟังก์ชัน
INITCAP()เพื่อให้ตัวอักษรแรกของแต่ละคำในคอลัมน์street_nameเป็นตัวพิมพ์ใหญ่เท่านั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
-- Add 0s to ensure violation_location is 4 characters in length
___(___, ___, ___) AS violation_location,
-- Replace 'P-U' with 'TRK' in vehicle_body_type column
___(___, ___, ___) AS vehicle_body_type,
-- Ensure only first letter capitalized in street_name
___(___) AS ___
FROM
parking_violation;