웹 응용 프로그램에서 모든 날짜 값은 SQL 데이터베이스로 전달되기 전에 UTC로 변환 된 다음 응용 프로그램에 표시 될 때마다 현지 시간으로 다시 변환됩니다. 따라서 최종 날짜는 모든 날짜가 데이터베이스의 UTC에있는 것입니다.SQL Server 2008 표준 시간대 변환
보고서 개발을 시작할 때까지는 문제가 없습니다. Crystal Reports에는 시간대 변환을 수행 할 수있는 기능이 없으므로 보고서에서 값을 전달하기 전에 SQL 내에서 변환해야합니다.
SQL Server의 datetime 값 변환 기능이 훨씬 제한적인 것처럼 보입니다. 내가 보는 유일한 기능은 SWITCHOFFSET
입니다. 이 함수의 문제점은 일광 절약 시간제가 주요 결함 인 것처럼 보일 수 없다는 것입니다. asp.net에서 시간대를 사용하여 datetime 값을 전달할 수 있으며 일광 절약 시간 조정을 고려하여 UTC 시간으로 자동 변환합니다.
SQL에서는 SWITCHOFFSET (SomeDate,"Eastern Time")
,
과 같은 것을 말하는 대신 SWITCHOFFSET(SomeDate, "-4:00")
을 사용해야합니다. 그러나 테이블에서 데이터를 가져와 서머 타임이 시작되는 3 월의 모든 데이터를 요청하면 어떻게됩니까? 무슨 일이 있어도 그 중 일부는 틀릴 것입니다. 나는 -4 : 00 또는 -5 : 00을 말할 수 있지만 분명히, 둘 다는 아닙니다.
솔직히 말해서 조정할 수있는 다른 기능이 있습니까? 일광 절약 시간 전환을 수행하는 방법을 모르면 SWITCHOFFSET
은 절반 굽습니다.
더 빨리 답변을 얻으실 수 있습니다.> [http://www.serverfault.com] – Shiham
Alex : 편집 해 주셔서 감사합니다. 훨씬 더 읽기 쉬워졌습니다. :) –
@marc_s arghh 내 편집! –