แปลงสตริงเป็นวันที่ด้วย Cast
ฟังก์ชัน CAST() ช่วยให้แปลงสตริงให้เป็นชนิดข้อมูลวันที่และเวลาได้ ในแบบฝึกหัดนี้จะได้ทบทวนรูปแบบต่าง ๆ ที่ CAST() รองรับ
ตรวจสอบข้อมูลในตาราง dbo.Dates ที่โหลดไว้ให้แล้ว จากนั้นใช้ฟังก์ชัน CAST() แปลงวันที่สองครั้ง ได้แก่ แปลงเป็นชนิด DATE หนึ่งครั้ง และแปลงเป็นชนิด DATETIME2(7) อีกหนึ่งครั้ง เนื่องจากวันที่บางรายการมีข้อมูลละเอียดถึงระดับนาโนวินาที จึงไม่สามารถแปลงเป็นชนิด DATETIME หรือ DATETIME2 ที่มีความละเอียดน้อยกว่านี้ได้
หมายเหตุ: ฟังก์ชัน CAST() ขึ้นอยู่กับภาษาและโลแคลที่ตั้งค่าไว้ใน SQL Server กล่าวคือ หากกำหนดค่า SQL Server เป็น US English ระบบจะแปล 08/23/2008 เป็น 2008-08-23 ได้ แต่จะไม่สามารถแปล 23/08/2008 ได้ ซึ่งรูปแบบนี้ SQL Server ที่ใช้โลแคลแบบ French Canadian สามารถจัดการได้
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์อนุกรมเวลาใน SQL Server
คำแนะนำการฝึกหัด
- แปลงสตริง
DateTextในตาราง tempdbo.Datesให้เป็นชนิดข้อมูลDATE - แปลงสตริง
DateTextในตาราง tempdbo.Datesให้เป็นชนิดข้อมูลDATETIME2(7)
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
SELECT
d.DateText AS String,
-- Cast as DATE
___(d.___ AS ___) AS StringAsDate,
-- Cast as DATETIME2(7)
___(d.___ AS ___) AS StringAsDateTime2
FROM dbo.Dates d;