데이터베이스 응용 프로그램이 다른 시간대의 여러 사이트에 배포 될 예정입니다.T-SQL의 표준 시간대 오프셋 결정
올해 YTD 계산을 위해 올해 1 월 1 일 자정의 UTC 타임 스탬프를 결정하는 T-SQL 함수가 필요합니다. 모든 데이터는 UTC 타임 스탬프로 저장됩니다.
예를 들어 시카고는 DST (일광 절약 시간제)가 적용된 UTC-6이고 2008 년 시카고에서 실행되는 경우 함수는 '2008-01-01 06:00:00'을 반환해야합니다. 내년에 뉴욕 (GMT-5 + DST)을 운영하는 경우 '2009-01-01 05:00:00'을 반환해야합니다.
나는 올해 (GETDATE())부터 현재 연도를 얻을 수 있습니다. 나는 오프셋 (offset)을 결정하기 위해서 GETDATE()와 GETUTCDATE() 사이의 DATEDIFF를 할 수 있다고 생각했지만 결과는 DST 중에 실행되는지 그렇지 않은가에 달려있다. 오프셋 또는 현재 시간이 DST인지 아닌지를 결정하기 위해 내장 된 T-SQL 함수를 모릅니다.
T-SQL에서이 문제에 대한 해결책을 가진 사람이 있습니까? 난 하드 코딩하거나 테이블에 저장할 수 있지만하지 않을 것입니다. 나는 이것이 SQL Server 2005의 CLR 통합을 사용하기에 완벽한 상황이라고 생각합니다. 내가 모르는 T-SQL 솔루션이 있는지 궁금합니다.
감사합니다. Eric. 이전에 제안한 것처럼 테이블 기반 솔루션을 구현했습니다. 나는 내가 놓친 뭔가가 내 인생을 편하게 해 줄 수 있는지 궁금해하고 있었다. –