SYSDATETIME(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
SQL Server 인스턴스가 실행되고 있는 컴퓨터의 날짜와 시간이 포함된 datetime2(7) 값을 반환합니다.
참고
SYSDATETIME 및 SYSUTCDATETIME에는 GETDATE 및 GETUTCDATE보다 많은 소수 자릿수 초의 전체 자릿수가 있습니다. SYSDATETIMEOFFSET에는 시스템 표준 시간대 오프셋이 포함되어 있습니다. SYSDATETIME, SYSUTCDATETIME 및 SYSDATETIMEOFFSET은 모든 날짜 및 시간 유형의 변수에 할당할 수 있습니다.
Azure SQL Database(Azure SQL Managed Instance는 제외됨) 및 Azure Synapse Analytics는 UTC를 따릅니다. UTC 이외의 표준 시간대로 날짜 및 시간 정보를 해석해야 하는 경우 Azure SQL Database 또는 Azure Synapse Analytics에서 AT TIME ZONE을 사용합니다.
모든 Transact-SQL 날짜/시간 데이터 형식 및 함수에 대한 개요는 날짜/시간 데이터 형식 및 함수(Transact-SQL)를 참조하세요.
구문
SYSDATETIME ( )
반환 형식
datetime2(7)
설명
Transact-SQL 문은 datetime2(7) 식을 참조할 수 있는 모든 곳에서 SYSDATETIME을 참조할 수 있습니다.
SYSDATETIME은 비결정적 함수입니다. 열에서 이 함수를 참조하는 뷰와 식은 인덱싱될 수 없습니다.
참고
SQL Server에서는 GetSystemTimeAsFileTime() Windows API를 사용하여 날짜 및 시간 값을 가져옵니다. 정확도는 SQL Server 인스턴스가 실행되고 있는 컴퓨터의 하드웨어와 Windows 버전에 따라 달라집니다. 이 API의 정밀도는 100나노초로 고정됩니다. 정확도는 GetSystemTimeAdjustment() Windows API를 사용하여 확인할 수 있습니다.
예
다음 예에서는 현재 날짜 및 시간을 반환하는 6개의 SQL Server 시스템 함수를 사용하여 시간, 날짜 또는 두 가지 모두 반환합니다. 값은 순차적으로 반환되므로 소수 자릿수 초가 서로 다를 수 있습니다.
A. 현재 시스템의 날짜 및 시간 가져오기
SELECT SYSDATETIME()
,SYSDATETIMEOFFSET()
,SYSUTCDATETIME()
,CURRENT_TIMESTAMP
,GETDATE()
,GETUTCDATE();
/* Returned:
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. 현재 시스템의 날짜 가져오기
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
/* All returned 2007-04-30 */
C. 현재 시스템의 시간 가져오기
SELECT CONVERT (time, SYSDATETIME())
,CONVERT (time, SYSDATETIMEOFFSET())
,CONVERT (time, SYSUTCDATETIME())
,CONVERT (time, CURRENT_TIMESTAMP)
,CONVERT (time, GETDATE())
,CONVERT (time, GETUTCDATE());
/* Returned
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
*/
예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)
4. 현재 시스템의 날짜 및 시간 가져오기
SELECT SYSDATETIME();
결과 집합은 다음과 같습니다.
--------------------------
7/20/2013 2:49:59 PM
참고 항목
CAST 및 CONVERT(Transact-SQL)
날짜 및 시간 데이터 형식 및 함수(Transact-SQL)