SQL 쿼리에서 UTC 날짜 시간을 현지 시간으로 효율적으로 변환
많은 데이터베이스 시스템은 일관성을 위해 타임스탬프를 UTC로 저장합니다. 이 가이드에서는 외부 코드가 필요 없이 SQL 쿼리 내에서 UTC 날짜/시간 열을 현지 시간으로 직접 변환하는 방법을 보여줍니다.
SQL Server 2008 이상:
이 접근 방식은 정확한 변환을 위해 SWITCHOFFSET
기능을 활용합니다.
<code class="language-sql">SELECT CONVERT(datetime, SWITCHOFFSET(CONVERT(datetimeoffset, MyTable.UtcColumn), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS ColumnInLocalTime FROM MyTable</code>
대체(자세한) 방법:
더 간단하지만 우아함은 떨어지지만 DATEADD
및 DATEDIFF
을 사용하는 방법은 다음과 같습니다.
<code class="language-sql">SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) AS ColumnInLocalTime FROM MyTable</code>
주요 고려 사항:
-
)는 잠재적인 경합 상황으로 인해 예측할 수 없는 결과를 초래할 수 있습니다. 위의 방법으로 이 문제를 피할 수 있습니다.이 정보를 사용하면 SQL 쿼리 내에서 직접 효율적이고 정확한 UTC-현지 시간 변환을 수행할 수 있습니다.
위 내용은 SQL에서 UTC 날짜/시간 열을 현지 시간으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!