Bắt đầu ngayBắt đầu miễn phí

Thay đổi độ lệch múi giờ của một ngày giờ

Bạn có thể dùng hàm SWITCHOFFSET() để đổi múi giờ của một giá trị kiểu DATETIME, DATETIME2, hoặc DATETIMEOFFSET, hoặc của một chuỗi ngày giờ hợp lệ. SWITCHOFFSET() nhận hai tham số: ngày giờ (hoặc chuỗi) đầu vào và độ lệch múi giờ. Hàm trả về thời gian theo múi giờ mới, vì vậy 3:00 AM Eastern Daylight Time sẽ trở thành 2:00 AM Central Daylight Time.

Thế vận hội Mùa hè 2016 tại Rio de Janeiro bắt đầu lúc 11 PM UTC ngày 8 tháng 8 năm 2016. Bắt đầu với một chuỗi chứa ngày giờ đó, bạn có thể xem thời điểm đó tương ứng ở các địa phương khác như thế nào.

Bài tập này là một phần của khóa học

Phân tích chuỗi thời gian trong SQL Server

Xem khóa học

Hướng dẫn bài tập

  • Điền lời gọi hàm phù hợp cho Brasilia, Brazil.
  • Điền lời gọi hàm và múi giờ phù hợp cho Chicago, Illinois. Vào tháng 8, Chicago chậm hơn Giờ tiêu chuẩn Brasilia 2 giờ (behind).
  • Điền lời gọi hàm và múi giờ phù hợp cho New Delhi, Ấn Độ. Ấn Độ không áp dụng Daylight Savings Time, nên vào tháng 8, New Delhi sớm hơn Giờ tiêu chuẩn Brasilia 8 tiếng rưỡi (ahead of). Lưu ý khi tính múi giờ rằng Brasilia và New Delhi nằm ở hai phía đối diện của UTC.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

DECLARE
	@OlympicsUTC NVARCHAR(50) = N'2016-08-08 23:00:00';

SELECT
	-- Fill in the time zone for Brasilia, Brazil
	___(@OlympicsUTC, '-03:00') AS BrasiliaTime,
	-- Fill in the time zone for Chicago, Illinois
	___(@OlympicsUTC, ___) AS ChicagoTime,
	-- Fill in the time zone for New Delhi, India
	___(@OlympicsUTC, '+___') AS NewDelhiTime;
Chỉnh sửa và Chạy Mã