SQL SELECT 문에서 UTC 날짜 및 시간 열을 현지 시간으로 변환
SQL SELECT 쿼리를 실행할 때 유용성을 높이고 데이터 표현의 정확성을 높이기 위해 UTC 날짜/시간 열을 현지 시간으로 변환해야 할 수도 있습니다. 이는 사용된 SQL 버전에 특정한 기술을 통해 달성할 수 있습니다.
SQL Server 2008 이상:
CONVERT
및 SWITCHOFFSET
과 결합된 CONVERT(datetimeoffset)
함수를 사용하여 시스템 시간대 오프셋을 고려하여 UTC 열을 현지 시간으로 변환합니다. SQL 구문:
<code class="language-sql">SELECT CONVERT(datetime, SWITCHOFFSET(CONVERT(datetimeoffset, MyTable.UtcColumn), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS ColumnInLocalTime FROM MyTable</code>
DATEADD
기능을 사용하여 변환하세요. SQL 구문:
<code class="language-sql">SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) AS ColumnInLocalTime FROM MyTable</code>
참고:
변환할 날짜를 뺄 때 빼기 기호-
를 사용하지 마세요. 시스템과 현지 날짜 시간 간의 경합으로 인해 예측할 수 없는 결과가 발생할 수 있습니다.
추가 참고사항:
제공된 방법은 일광 절약 시간(DST)을 고려하지 않습니다. DST 조정에 대해서는 스택 오버플로 항목을 참조하세요:
"SQL Server에서 일광 절약 시간제 시작 및 종료 함수를 만드는 방법"
위 내용은 SQL SELECT 문에서 UTC 날짜/시간 열을 현지 시간으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!