การใช้ฟังก์ชันวันที่กับ String
มีฟังก์ชันที่มีประโยชน์หลายตัวซึ่งทำงานเฉพาะกับฟิลด์ประเภทวันที่หรือ datetime ตัวอย่างเช่น:
DATE_TRUNC('month', date)ตัดทอนแต่ละวันที่ให้เหลือเฉพาะวันแรกของเดือนDATE_PART('year', date)ดึงค่าปีจากแต่ละวันที่ออกมาในรูปแบบจำนวนเต็ม
โดยทั่วไป อาร์กิวเมนต์ของทั้งสองฟังก์ชันมีรูปแบบเป็น ('period', field) โดยที่ period คือช่วงเวลา เช่น 'minute', 'day' หรือ 'decade'
ในแบบฝึกหัดนี้ เป้าหมายคือทดลองใช้ฟังก์ชันวันที่เหล่านี้กับตาราง country_stats โดยเฉพาะการดึงค่า decade จากแต่ละ year ด้วยสองวิธีที่แตกต่างกัน ซึ่งจำเป็นต้องใช้ฟังก์ชัน CAST() กับฟิลด์ year ด้วย
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การรายงานผลด้วย SQL
คำแนะนำการฝึกหัด
- ดึงข้อมูลจากตาราง
country_statsโดย SELECT ค่าทศวรรษ (decade) ด้วยสองวิธี ได้แก่DATE_PART()และDATE_TRUNC - แปลงชนิดข้อมูลของฟิลด์
yearเพื่อแก้ไขข้อผิดพลาด - รวมค่า
gdpเพื่อให้ได้world_gdp - จัดกลุ่มและเรียงลำดับตาม year (จากมากไปน้อย)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
year,
-- Pull decade, decade_truncate, and the world's gdp
DATE_PART(____) AS decade,
DATE_TRUNC(____) AS decade_truncated,
____ AS world_gdp
FROM ____
-- Group and order by year in descending order
GROUP BY ____
ORDER BY ____;