SYSDATETIMEOFFSET(Transact-SQL)
SQL Server 인스턴스가 실행되고 있는 컴퓨터의 날짜와 시간이 포함된 datetimeoffset(7) 값을 반환합니다. 여기에는 표준 시간대 오프셋이 포함됩니다.
모든 Transact-SQL 날짜/시간 데이터 형식 및 함수에 대한 개요는 날짜 및 시간 데이터 형식 및 함수(Transact-SQL)를 참조하십시오. 날짜/시간 데이터 형식 및 함수에 대한 자세한 내용과 일반적인 예는 날짜 및 시간 데이터 사용을 참조하십시오.
구문
SYSDATETIMEOFFSET ( )
반환 형식
datetimeoffset(7)
주의
Transact-SQL 문은 datetimeoffset 식을 참조할 수 있는 모든 곳에서 SYSDATETIMEOFFSET을 참조할 수 있습니다.
SYSDATETIMEOFFSET은 비결정적 함수입니다. 열에서 이 함수를 참조하는 뷰와 식은 인덱싱될 수 없습니다.
[!참고]
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
2. 날짜 및 시간을 시간으로 변환
다음 예에서는 날짜 및 시간 값을 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