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

การแปลงเป็น Date Offset

นอกจาก SWITCHOFFSET() แล้ว ยังสามารถใช้ TODATETIMEOFFSET() เพื่อแปลงวันที่ที่มีอยู่ให้เป็นประเภทวันที่ที่มีออฟเซ็ตได้ด้วย หากเวลาเริ่มต้นอยู่ในรูปแบบ UTC จะต้องปรับค่าเขตเวลาก่อน แล้วจึงเพิ่มออฟเซ็ตต่อท้าย โดยการปรับเขตเวลานั้นทำได้โดยบวกหรือลบชั่วโมง (และนาที) ด้วยตนเอง

พิธีปิดการแข่งขันกีฬาโอลิมปิกฤดูร้อน 2016 ที่ริโอเดจาเนโรเริ่มต้นเวลา 23:00 น. UTC ในวันที่ 21 สิงหาคม 2016 โดยเริ่มต้นจากสตริงที่บรรจุวันที่และเวลาดังกล่าว เราสามารถดูได้ว่าขณะนั้นเป็นเวลาใดในสถานที่อื่น สำหรับเวลาในเมืองฟีนิกซ์ รัฐแอริโซนา ที่นั่นใช้ Mountain Standard Time ซึ่งคือ UTC -7 ตลอดทั้งปี ส่วนหมู่เกาะตูวาลูมีเขตเวลาของตัวเองซึ่งอยู่ล่วงหน้า UTC อยู่ 12 ชั่วโมง

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

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

ดูคอร์ส

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

  • ป้อนเวลาในเมืองฟีนิกซ์ รัฐแอริโซนา ซึ่งใช้ Mountain Standard Time คือ UTC -07:00
  • ป้อนเวลาสำหรับตูวาลู ซึ่งอยู่ล่วงหน้า UTC อยู่ 12 ชั่วโมง

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

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

DECLARE
	@OlympicsClosingUTC DATETIME2(0) = '2016-08-21 23:00:00';

SELECT
	-- Fill in 7 hours back and a '-07:00' offset
	___(DATEADD(HOUR, -___, @OlympicsClosingUTC), '___') AS PhoenixTime,
	-- Fill in 12 hours forward and a '+12:00' offset.
	___(DATEADD(HOUR, ___, @OlympicsClosingUTC), '___') AS TuvaluTime;
แก้ไขและรันโค้ด