> 데이터 베이스 > MySQL 튜토리얼 > SQL에서 UTC 날짜/시간 열을 현지 시간으로 변환하는 방법은 무엇입니까?

SQL에서 UTC 날짜/시간 열을 현지 시간으로 변환하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2025-01-17 04:22:09
원래의
297명이 탐색했습니다.

How to Convert a UTC Datetime Column to Local Time in SQL?

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>
로그인 후 복사

대체(자세한) 방법:

더 간단하지만 우아함은 떨어지지만 DATEADDDATEDIFF을 사용하는 방법은 다음과 같습니다.

<code class="language-sql">SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) 
       AS ColumnInLocalTime
FROM MyTable</code>
로그인 후 복사

주요 고려 사항:

  • 날짜 빼기 방지: 직접적인 날짜 빼기(-)는 잠재적인 경합 상황으로 인해 예측할 수 없는 결과를 초래할 수 있습니다. 위의 방법으로 이 문제를 피할 수 있습니다.
  • 일광 절약 시간(DST): 제공된 솔루션은 DST 조정을 자동으로 처리하지 않습니다. 정확한 DST 처리를 위해서는 SQL Server 내에서 DST 계산을 다루는 리소스(예: DST 시작/종료 함수 생성에 대한 스택 오버플로 토론)를 참조하세요.

이 정보를 사용하면 SQL 쿼리 내에서 직접 효율적이고 정확한 UTC-현지 시간 변환을 수행할 수 있습니다.

위 내용은 SQL에서 UTC 날짜/시간 열을 현지 시간으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿