현재 데이터베이스 시스템 타임스탬프를 데이터베이스 표준 시간대 오프셋 없이 datetime 값으로 반환합니다. 이 값은 SQL Server 인스턴스를 실행하는 컴퓨터의 운영 체제에서 파생됩니다.

 참고

SYSDATETIME 및 SYSUTCDATETIME에는 GETDATE 및 GETUTCDATE보다 많은 소수 자릿수 초의 전체 자릿수가 있습니다.SYSDATETIMEOFFSET에는 시스템 표준 시간대 오프셋이 포함되어 있습니다. SYSDATETIME, SYSUTCDATETIME 및 SYSDATETIMEOFFSET은 모든 날짜 및 시간 유형의 변수에 할당할 수 있습니다.

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

 Transact-SQL 구문 규칙

구문

복사

GETDATE ( )

반환 형식

datetime

Remarks

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

GETDATE는 확정적이 아닌 함수입니다. 열에서 이 함수를 참조하는 뷰와 식은 인덱싱될 수 없습니다.

GETDATE() 함수와 함께 SWITCHOFFSET을 사용하면 쿼리 최적화 프로그램이 GETDATE 값에 대한 정확한 카디널리티 예측을 얻을 수 없기 때문에 쿼리가 느리게 실행될 수 있습니다. 따라서 다음 예와 같이 GETDATE 값을 미리 계산한 다음 해당 값을 쿼리에서 지정하는 것이 좋습니다. 또한 OPTION (RECOMPILE) 쿼리 힌트를 사용하여 다음 번에 같은 쿼리를 실행할 때 쿼리 최적화 프로그램이 쿼리 계획을 다시 컴파일하도록 합니다. 최적화 프로그램은 GETDATE()에 대한 정확한 카디널리티 예측을 갖게 되므로 보다 효율적인 쿼리 계획을 생성합니다.

복사

DECLARE @dt datetimeoffset = switchoffset (CONVERT(datetimeoffset, GETDATE()), '-04:00'); SELECT * FROM t WHERE c1 > @dt OPTION (RECOMPILE);

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

1. 현재 시스템의 날짜 및 시간 가져오기

복사

SELECT SYSDATETIME() ,SYSDATETIMEOFFSET() ,SYSUTCDATETIME() ,CURRENT_TIMESTAMP ,GETDATE() ,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. 현재 시스템의 날짜 가져오기

복사

SELECT CONVERT (date, SYSDATETIME()) ,CONVERT (date, SYSDATETIMEOFFSET()) ,CONVERT (date, SYSUTCDATETIME()) ,CONVERT (date, CURRENT_TIMESTAMP) ,CONVERT (date, GETDATE()) ,CONVERT (date, GETUTCDATE());

결과 집합은 다음과 같습니다.

복사

SYSDATETIME() 2007-05-03 SYSDATETIMEOFFSET() 2007-05-03 SYSUTCDATETIME() 2007-05-04 CURRENT_TIMESTAMP 2007-05-03 GETDATE() 2007-05-03 GETUTCDATE() 2007-05-04

C. 현재 시스템의 시간 가져오기

복사

SELECT CONVERT (time, SYSDATETIME()) ,CONVERT (time, SYSDATETIMEOFFSET()) ,CONVERT (time, SYSUTCDATETIME()) ,CONVERT (time, CURRENT_TIMESTAMP) ,CONVERT (time, GETDATE()) ,CONVERT (time, 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

예제: Azure SQL 데이터 웨어하우스  병렬 데이터 웨어하우스

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

D. 현재 시스템의 날짜 및 시간 가져오기

복사

SELECT SYSDATETIME() ,CURRENT_TIMESTAMP ,GETDATE();

E. 현재 시스템의 날짜 가져오기

복사

SELECT CONVERT (date, SYSDATETIME()) ,CONVERT (date, CURRENT_TIMESTAMP) ,CONVERT (date, GETDATE());

F. 현재 시스템의 시간 가져오기

복사

SELECT CONVERT (time, SYSDATETIME()) ,CONVERT (time, CURRENT_TIMESTAMP) ,CONVERT (time, GETDATE());

참고 항목

CAST 및 CONVERT(Transact-SQL)

'IT' 카테고리의 다른 글

3D프린터 ANET-8 개봉기  (0) 2019.09.04
GETDATE (Transact-SQL) by MicroSoft  (0) 2019.08.27
크롬 광고 스파이웨어 바이러스 삭제 방법  (0) 2019.08.25
DEVEXPRESS ProgressBar Example  (0) 2019.08.23
U+Shop에서 LGX2 공짜!  (0) 2019.08.23

+ Recent posts