집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server에서 UTC 날짜/시간 열을 현지 시간으로 변환하는 방법은 무엇입니까?
SQL Server 쿼리 내에서 UTC 날짜/시간 열을 현지 시간으로 효율적으로 변환하는 것은 정확한 데이터 표시 및 분석에 매우 중요합니다. 잠재적인 함정을 피하는 효과적인 방법은 다음과 같습니다.
SQL Server 2008 이상:
SWITCHOFFSET()
및 CONVERT()
: 이 강력한 방법은 시간대 오프셋을 처리합니다.<code class="language-sql">SELECT CONVERT(datetime, SWITCHOFFSET(CONVERT(datetimeoffset, MyTable.UtcColumn), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS ColumnInLocalTime FROM MyTable</code>
DATEADD()
, DATEDIFF()
및 GETDATE()
: 더 간결한 대안:<code class="language-sql">SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) AS ColumnInLocalTime FROM MyTable</code>
중요 사항: -
연산자를 사용한 직접 날짜 빼기는 권장되지 않습니다. 이로 인해 잠재적인 경쟁 상황으로 인해 예측할 수 없는 결과가 발생할 수 있습니다.
일광 절약 시간(DST) 고려 사항:
위 방법은 본질적으로 DST 전환을 처리하지 않습니다. 정확한 DST 조정을 위해서는 다음 스택 오버플로 리소스를 참조하세요.
위 내용은 SQL Server에서 UTC 날짜/시간 열을 현지 시간으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!