Computer >> 컴퓨터 >  >> 프로그래밍 >> SQL Server

SQL Server GETUTCDATE 함수 완벽 가이드: 구문과 실전 예제

이 글에서는 SQL Server에서 GETUTCDATE 함수를 사용하는 방법을 구체적인 구문과 예제와 함께 자세히 설명합니다. 함수의 동작 원리를 시각적으로 이해하고 실무에 바로 적용할 수 있도록 정리했습니다.

GETUTCDATE 함수란?

GETUTCDATE 함수는 SQL Server에서 현재 날짜와 시간을 UTC(협정 세계시) 기준으로 반환하는 함수입니다.

UTC는 세계 표준시로, 한국 표준시(KST)보다 9시간 늦습니다. 따라서 한국 시간으로 오후 6시일 때 GETUTCDATE는 오전 9시를 반환합니다. 여러 국가의 서버가 함께 동작하는 글로벌 시스템에서는 시간대 차이로 인한 오류를 방지하기 위해 UTC 기준으로 시간을 저장하는 것이 일반적입니다.

구문

SQL Server에서 GETUTCDATE 함수를 사용하는 구문은 다음과 같습니다:

GETUTCDATE()
  • 이 함수는 별도의 매개변수나 인수를 받지 않습니다.

참고 사항

  1. GETUTCDATE는 시스템의 날짜와 시간을 'yyyy-mm-dd hh:mi:ss.mmm' 형식으로 반환합니다.
  2. UTC 날짜 및 시간 값은 운영 체제에 설정된 시간대 설정에 따라 결정됩니다.
  3. 유사한 기능을 가진 CURRENT_TIMESTAMP 함수와 GETDATE 함수도 함께 확인해 보세요.
  4. GETUTCDATE는 SQL Server 2005부터 최신 버전인 SQL Server 2017까지 폭넓게 지원됩니다(SQL Server 2005, 2008, 2008 R2, 2012, 2014, 2016, 2017).

함수 비교: GETDATE vs GETUTCDATE

함수 기준 시간대 설명
GETDATE() 서버 로컬 시간 운영 체제에 설정된 현지 시간 반환
GETUTCDATE() UTC 세계 표준시 기준 시간 반환
CURRENT_TIMESTAMP 서버 로컬 시간 GETDATE()와 동일한 ANSI SQL 표준 함수

예제

SQL Server에서 GETUTCDATE 함수의 몇 가지 활용 예제를 살펴보겠습니다.

SELECT GETUTCDATE();
결과: '2019-02-25 11:11:00.160'

위 예제에서 결과값은 UTC 기준 2019년 2월 25일 11시 11분 00초(밀리초 160)를 의미합니다. 한국 시간(KST, UTC+9)으로 환산하면 같은 순간 20시 11분에 해당합니다.

활용 예: 레코드 생성 시각 기록

글로벌 서비스에서는 데이터 생성 시각을 UTC로 저장하는 것이 좋습니다.

INSERT INTO orders (order_name, created_at)
VALUES ('Sample Order', GETUTCDATE());

이렇게 하면 어떤 시간대의 클라이언트에서 데이터가 생성되었는지와 무관하게 일관된 시간 기준을 유지할 수 있으며, 나중에 필요할 때 각 지역의 시간대로 변환하여 조회할 수 있습니다.