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

การดึงค่า key ระดับบนสุดจาก JSON

ทีมภาคสนามจาก Idaho กลับมาพร้อมภารกิจใหม่แล้ว พวกเขาได้รับสถานีตรวจวัดสภาพอากาศเครื่องใหม่ที่ส่งออกข้อมูลในรูป JSON string และต้องการให้ช่วยดึงข้อมูลออกมาให้ JSON ดังกล่าวอยู่ใน CTE ชื่อ weather_station ซึ่งเก็บ JSON string ไว้ในคอลัมน์ data

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

Introduction to Redshift

ดูคอร์ส

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

  • ดึงค่า 'date' จาก data โดยตั้งชื่อว่า weather_date
  • ดึงค่า 'weather' จาก data โดยตั้งชื่อว่า weather_state

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

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

-- weather_station CTE with the JSON in the data column
WITH weather_station AS (
    SELECT '
      {
        "location": "Salmon Challis National Forest",
        "date": "2024-02-10",
        "weather": "Rainy",
        "temperature": {
          "current": 10,
          "min": 8,
          "max": 12,
          "hourly_temperature": [8, 8, 9, 9, 10, 10, 11, 11, 12]
        }
      }'::SUPER::VARCHAR as data
      -- Above line casts to SUPER and then to 
      -- VARCHAR to ensure it's ready for parsing
) 
       -- Extract the date value
SELECT ___(___, ___) AS ___,
       -- Extract the weather value
       ___(___, ___) AS ___
  -- Using the CTE
  FROM ___;
แก้ไขและรันโค้ด