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

การปัดเศษวันที่

SQL Server ไม่มีวิธีที่ตรงไปตรงมาในการปัดวันที่ลงไปยังระดับเดือน ชั่วโมง หรือนาที อย่างไรก็ตาม สามารถใช้ฟังก์ชัน DATEADD() และ DATEDIFF() ร่วมกันเพื่อทำการปัดเศษได้

ตัวอย่างเช่น หากต้องการปัดวันที่ 1914-08-16 ลงไปยังระดับปี ให้เรียก DATEADD(YEAR, DATEDIFF(YEAR, 0, '1914-08-16'), 0)

หากต้องการปัดลงไปยังระดับเดือน ให้เรียก DATEADD(MONTH, DATEDIFF(MONTH, 0, '1914-08-16'), 0)

วิธีนี้ใช้ได้กับส่วนของวันที่อื่น ๆ อีกหลายรูปแบบเช่นกัน

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

การวิเคราะห์อนุกรมเวลาใน SQL Server

ดูคอร์ส

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

  • ใช้ DATEADD() และ DATEDIFF() ร่วมกับส่วนของวันที่ เพื่อปัดค่าเวลาลงไปยังระดับวัน ชั่วโมง และนาที

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

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

DECLARE
	@SomeTime DATETIME2(7) = '2018-06-14 16:29:36.2248991';

-- Fill in the appropriate functions and date parts
SELECT
	DATEADD(___, DATEDIFF(DAY, 0, @SomeTime), 0) AS RoundedToDay,
	___(___, ___(___, 0, @SomeTime), 0) AS RoundedToHour,
	___(___, ___(___, 0, @SomeTime), 0) AS RoundedToMinute;
แก้ไขและรันโค้ด