SYSUTCDATETIME(Transact-SQL)
SQL Server 인스턴스가 실행되고 있는 컴퓨터의 날짜와 시간이 포함된 datetime2 값을 반환합니다. 날짜와 시간은 UTC 시간(Coordinated Universal Time)으로 반환됩니다. 소수 자릿수 초의 전체 자릿수는 1-7자리입니다. 기본 전체 자릿수는 7자리입니다.
[!참고]
SYSDATETIME 및 SYSUTCDATE에는 GETDATE 및 GETUTCDATE보다 많은 소수 자릿수 초의 전체 자릿수가 있습니다. SYSDATETIMEOFFSET에는 시스템 표준 시간대 오프셋이 포함되어 있습니다. SYSDATETIME, SYSUTCDATE 및 SYSDATETIMEOFFSET은 모든 날짜 및 시간 유형의 변수에 할당할 수 있습니다.
모든 Transact-SQL의 날짜/시간 데이터 형식 및 함수에 대한 개요는 날짜 및 시간 데이터 형식 및 함수를 참조하십시오. 날짜/시간 데이터 형식 및 함수에 대한 자세한 내용과 일반적인 예는 날짜 및 시간 데이터 사용을 참조하십시오.
구문
SYSUTCDATETIME ( )
반환 형식
datetime2
주의
Transact-SQL 문은 datetime2 식을 참조할 수 있는 모든 곳에서 SYSUTCDATETIME을 참조할 수 있습니다.
SYSUTCDATETIME은 비결정적 함수입니다. 열에서 이 함수를 참조하는 뷰와 식은 인덱싱될 수 없습니다.
[!참고]
SQL Server 2008에서는 GetSystemTimeAsFileTime() Windows API를 사용하여 날짜 및 시간 값을 가져옵니다. 정확도는 SQL Server 인스턴스가 실행되고 있는 컴퓨터의 하드웨어와 Windows 버전에 따라 달라집니다. 이 API의 정밀도는 100나노초로 고정됩니다. 정확도는 GetSystemTimeAdjustment() Windows API를 사용하여 확인할 수 있습니다.
예
다음 예에서는 현재 날짜 및 시간을 반환하는 6개의 SQL Server 시스템 함수를 사용하여 시간, 날짜 또는 두 가지 모두 반환합니다. 값은 순차적으로 반환되므로 소수 자릿수 초가 서로 다를 수 있습니다.
1. 날짜 및 시간 함수가 반환하는 형식 표시
다음 예에서는 날짜 및 시간 함수가 반환하는 다양한 형식을 보여 줍니다.
SELECT SYSDATETIME() AS SYSDATETIME
,SYSDATETIMEOFFSET() AS SYSDATETIMEOFFSET
,SYSUTCDATETIME() AS SYSUTCDATETIME
,CURRENT_TIMESTAMP AS CURRENT_TIMESTAMP
,GETDATE() AS GETDATE
,GETUTCDATE() AS GETUTCDATE;
결과 집합은 다음과 같습니다.
SYSDATETIME() 2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME() 2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP 2007-04-30 13:10:02.047
GETDATE() 2007-04-30 13:10:02.047
GETUTCDATE() 2007-04-30 20:10:02.047
2. 날짜 및 시간을 날짜로 변환
다음 예에서는 날짜 및 시간 값을 date로 변환하는 방법을 보여 줍니다.
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
결과 집합은 다음과 같습니다.
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
3. 날짜 및 시간을 시간으로 변환
다음 예에서는 날짜 및 시간 값을 time으로 변환하는 방법을 보여 줍니다.
SELECT CONVERT (time, SYSDATETIME()) AS SYSDATETIME()
,CONVERT (time, SYSDATETIMEOFFSET()) AS SYSDATETIMEOFFSET()
,CONVERT (time, SYSUTCDATETIME()) AS SYSUTCDATETIME()
,CONVERT (time, CURRENT_TIMESTAMP) AS CURRENT_TIMESTAMP
,CONVERT (time, GETDATE()) AS GETDATE()
,CONVERT (time, GETUTCDATE()) AS GETUTCDATE();
결과 집합은 다음과 같습니다.
SYSDATETIME() 13:18:45.3490361
SYSDATETIMEOFFSET()13:18:45.3490361
SYSUTCDATETIME() 20:18:45.3490361
CURRENT_TIMESTAMP 13:18:45.3470000
GETDATE() 13:18:45.3470000
GETUTCDATE() 20:18:45.3470000