การเติมค่าที่หายไปด้วย COALESCE()
ในแบบฝึกหัดก่อนหน้า คุณใช้ฟังก์ชัน ISNULL() เพื่อแทนที่ค่า NULL ในคอลัมน์ด้วยค่าอื่น
คราวนี้ต้องการสร้างคอลัมน์ใหม่ชื่อ location ที่จะคืนค่าจากคอลัมน์ airport_city และหาก airport_city เป็น NULL ให้คืนค่าจาก airport_state แทน แต่ถ้า airport_state เป็น NULL ด้วย ให้คืนค่าเป็น string 'Unknown'
สามารถทำได้โดยใช้ COALESCE() ซึ่งจะประเมินค่าของแต่ละอาร์กิวเมนต์ตามลำดับ แล้วคืนค่าอาร์กิวเมนต์แรกที่ไม่ใช่ NULL
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การทำความสะอาดข้อมูลในฐานข้อมูล SQL Server
คำแนะนำการฝึกหัด
- ใช้
COALESCE()เพื่อคืนค่าที่ไม่ใช่NULLค่าแรกจากairport_city,airport_stateหรือ'Unknown'
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
airport_code,
airport_name,
-- Replace the missing values
___(___, ___, '___') AS location
FROM airports