다음을 통해 공유


SYSDATETIMEOFFSET(Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

SQL Server 인스턴스가 실행되고 있는 컴퓨터의 날짜와 시간이 포함된 datetimeoffset(7) 값을 반환합니다. 여기에는 표준 시간대 오프셋이 포함됩니다.

모든 Transact-SQL 날짜/시간 데이터 형식 및 함수에 대한 개요는 날짜/시간 데이터 형식 및 함수(Transact-SQL)를 참조하세요.

Transact-SQL 구문 표기 규칙

Syntax

SYSDATETIMEOFFSET ( )  

참고 항목

SQL Server 2014(12.x) 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

반환 형식

datetimeoffset(7)

설명

Transact-SQL 문은 datetimeoffset 식을 참조할 수 있는 모든 곳에서 SYSDATETIMEOFFSET을 참조할 수 있습니다.

SYSDATETIMEOFFSET은 비결정적 함수입니다. 열에서 이 함수를 참조하는 뷰와 식은 인덱싱될 수 없습니다.

참고

SQL Server에서는 GetSystemTimeAsFileTime() Windows API를 사용하여 날짜 및 시간 값을 가져옵니다. 정확도는 SQL Server 인스턴스가 실행되고 있는 컴퓨터의 하드웨어와 Windows 버전에 따라 달라집니다. 이 API의 정밀도는 100나노초로 고정됩니다. 정확도는 GetSystemTimeAdjustment() Windows API를 사용하여 확인할 수 있습니다.

다음 예에서는 현재 날짜 및 시간을 반환하는 6개의 SQL Server 시스템 함수를 사용하여 시간, 날짜 또는 두 가지 모두 반환합니다. 값은 순차적으로 반환되므로 소수 자릿수 초가 서로 다를 수 있습니다.

A. 날짜 및 시간 함수가 반환하는 형식 표시

다음 예에서는 날짜 및 시간 함수가 반환하는 다양한 형식을 보여 줍니다.

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

B. 날짜 및 시간을 날짜로 변환

다음 예에서는 날짜 및 시간 값을 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

C. 날짜 및 시간을 시간으로 변환

다음 예에서는 날짜 및 시간 값을 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

참고 항목

CAST 및 CONVERT(Transact-SQL)
날짜 및 시간 데이터 형식 및 함수(Transact-SQL)