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

이 항목의 다음 섹션에서는 Transact-SQL의 모든 날짜/시간 데이터 형식 및 함수에 대한 개요를 제공합니다. 날짜/시간 데이터 형식 및 함수에 대한 자세한 내용과 일반적인 예는 날짜 및 시간 데이터 사용을 참조하십시오.

  • 날짜 및 시간 데이터 형식

  • 날짜 및 시간 함수

  • 시스템 날짜 및 시간 값 가져오기 함수

  • 날짜 및 시간 부분 가져오기 함수

  • 날짜 및 시간 차 가져오기 함수

  • 날짜 및 시간 값 수정 함수

  • 세션 형식 설정 또는 가져오기 함수

  • 날짜 및 시간 값 유효성 검사 함수

  • 날짜 및 시간 관련 항목

날짜 및 시간 데이터 형식

다음 표에 Transact-SQL의 날짜 및 시간 데이터 형식이 나와 있습니다.

데이터 형식

형식

범위

정확도

저장소 크기(바이트)

사용자 정의 초 소수 부분 자릿수

표준 시간대 오프셋

시간

hh:mm:ss[.nnnnnnn]

00:00:00.0000000부터 23:59:59.9999999까지

100나노초

3 ~ 5

아니요

날짜

YYYY-MM-DD

0001-01-01부터 9999-12-31까지

1일

3

아니요

아니요

smalldatetime

YYYY-MM-DD hh:mm:ss

1900-01-01부터 2079-06-06까지

1분

4

아니요

아니요

datetime

YYYY-MM-DD hh:mm:ss[.nnn]

1753-01-01부터 9999-12-31까지

0.00333초

8

아니요

아니요

datetime2

YYYY-MM-DD hh:mm:ss[.nnnnnnn]

0001-01-01 00:00:00.0000000부터 9999-12-31 23:59:59.9999999까지

100나노초

6 ~ 8

아니요

datetimeoffset

YYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm

0001-01-01 00:00:00.0000000부터 9999-12-31 23:59:59.9999999까지(UTC)

100나노초

8 ~ 10

[!참고]

Transact-SQLrowversion 데이터 형식은 날짜 또는 시간 데이터 형식이 아닙니다. timestamp는 rowversion의 사용되지 않는 동의어입니다.

날짜 및 시간 함수

다음 표에는 Transact-SQL 날짜 및 시간 함수가 나와 있습니다. 결정성에 대한 자세한 내용은 결정적 함수 및 비결정적 함수를 참조하십시오.

시스템 날짜 및 시간 값 가져오기 함수

모든 시스템 날짜 및 시간 값은 SQL Server 인스턴스가 실행 중인 컴퓨터 운영 체제에서 가져옵니다.

정밀도가 높은 시스템 날짜 및 시간 함수

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

함수

구문

반환 값

반환 데이터 형식

결정성

SYSDATETIME

SYSDATETIME ()

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

datetime2(7)

비결정적

SYSDATETIMEOFFSET

SYSDATETIMEOFFSET ( )

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

datetimeoffset(7)

비결정적

SYSUTCDATETIME

SYSUTCDATETIME ( )

SQL Server 인스턴스가 실행되고 있는 컴퓨터의 날짜와 시간이 포함된 datetime2(7) 값을 반환합니다. 날짜와 시간은 UTC 시간(Coordinated Universal Time)으로 반환됩니다.

datetime2(7)

비결정적

정밀도가 낮은 시스템 날짜 및 시간 함수

함수

구문

반환 값

반환 데이터 형식

결정성

CURRENT_TIMESTAMP

CURRENT_TIMESTAMP

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

datetime

비결정적

GETDATE

GETDATE ( )

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

datetime

비결정적

GETUTCDATE

GETUTCDATE ( )

SQL Server 인스턴스가 실행되고 있는 컴퓨터의 날짜와 시간이 포함된 datetime2(7) 값을 반환합니다. 날짜와 시간은 UTC 시간(Coordinated Universal Time)으로 반환됩니다.

datetime

비결정적

날짜 및 시간 부분 가져오기 함수

함수

구문

반환 값

반환 데이터 형식

결정성

DATENAME

DATENAME( datepart , date )

지정된 날짜의 지정된 datepart를 나타내는 문자열을 반환합니다.

nvarchar

비결정적

DATEPART

DATEPART ( datepart , date )

지정된 date의 지정된 datepart를 나타내는 정수를 반환합니다.

int

비결정적

DAY

DAY ( date )

지정된 date의 일 부분을 나타내는 정수를 반환합니다.

int

결정적

MONTH

MONTH ( date )

지정된 date의 월 부분을 나타내는 정수를 반환합니다.

int

결정적

YEAR

YEAR ( date )

지정된 date의 연도 부분을 나타내는 정수를 반환합니다.

int

결정적

날짜 및 시간 차 가져오기 함수

함수

구문

반환 값

반환 데이터 형식

결정성

DATEDIFF

DATEDIFF ( datepart , startdate , enddate )

지정한 두 날짜 사이에 있는 날짜 또는 시간 datepart 경계의 수를 반환합니다.

int

결정적

날짜 및 시간 값 수정 함수

함수

구문

반환 값

반환 데이터 형식

결정성

DATEADD

DATEADD (datepart , number , date )

지정된 date의 지정된 datepart에 시간 간격을 더하여 새 datetime 값을 반환합니다.

date 인수의 데이터 형식

결정적

SWITCHOFFSET

SWITCHOFFSET(DATETIMEOFFSET , time_zone)

SWITCHOFFSET은 DATETIMEOFFSET 값의 표준 시간대 오프셋을 변경하고 UTC 값을 유지합니다.

DATETIMEOFFSET의 소수 자릿수와 datetimeoffset

결정적

TODATETIMEOFFSET

TODATETIMEOFFSET(expression , time_zone)

TODATETIMEOFFSET은 datetime2 값을 datetimeoffset 값으로 변환합니다. datetime2 값은 지정된 time_zone의 현지 시간으로 해석됩니다.

datetime 인수의 소수 자릿수와 datetimeoffset

결정적

세션 형식 설정 또는 가져오기 함수

함수

구문

반환 값

반환 데이터 형식

결정성

@@DATEFIRST

@@DATEFIRST

세션에 대한 SET DATEFIRST의 현재 값을 반환합니다.

tinyint

비결정적

SET DATEFIRST

SET DATEFIRST { number | @number_var }

일주일의 시작 요일을 1부터 7까지의 숫자로 설정합니다.

해당 사항 없음

해당 사항 없음

SET DATEFORMAT

SET DATEFORMAT { format | @format_var }

datetime 또는 smalldatetime 데이터를 입력할 때 날짜 부분의 순서(월/일/년도)를 설정합니다.

해당 사항 없음

해당 사항 없음

@@LANGUAGE

@@LANGUAGE

현재 사용 중인 언어의 이름을 반환합니다. @@LANGUAGE는 날짜 또는 시간 함수가 아닙니다. 하지만 언어 설정은 날짜 함수의 출력에 영향을 줄 수 있습니다.

해당 사항 없음

해당 사항 없음

SET LANGUAGE

SET LANGUAGE { [ N ] 'language' | @language_var }

세션 및 시스템 메시지에 대한 언어 환경을 설정합니다. SET LANGUAGE는 날짜 또는 시간 함수가 아닙니다. 하지만 언어 설정은 날짜 함수의 출력에 영향을 줍니다.

해당 사항 없음

해당 사항 없음

sp_helplanguage

sp_helplanguage [ [ @language = ] 'language' ]

지원되는 모든 언어의 날짜 형식에 대한 정보를 반환합니다. sp_helplanguage는 날짜 또는 시간 저장 프로시저가 아닙니다. 하지만 언어 설정은 날짜 함수의 출력에 영향을 줍니다.

해당 사항 없음

해당 사항 없음

날짜 및 시간 값 유효성 검사 함수

함수

구문

반환 값

반환 데이터 형식

결정성

ISDATE

ISDATE( expression )

datetime 또는 smalldatetime 입력 식이 유효한 날짜 또는 시간 값인지 여부를 확인합니다.

int

ISDATE는 CONVERT 함수와 함께 사용되고 CONVERT 스타일 매개 변수가 지정되고 스타일이 0, 100, 9 또는 109가 아닌 경우에만 결정적입니다.

날짜 및 시간 관련 항목

항목

설명

날짜 및 시간 데이터 사용

날짜/시간 데이터 형식 및 함수에 대한 정보와 일반적인 예를 제공합니다.

CAST 및 CONVERT(Transact-SQL)

문자열 리터럴과 다른 날짜 및 시간 형식 간의 날짜/시간 값 변환에 대한 정보를 제공합니다.

국가별 Transact-SQL 문 작성

Transact-SQL 문을 사용하거나 여러 언어를 지원하는 데이터베이스 및 데이터베이스 응용 프로그램의 언어 간 이식성에 대한 지침을 제공합니다.

ODBC 스칼라 함수(Transact-SQL)

Transact-SQL 문에서 사용할 수 있는 ODBC 스칼라 함수에 대한 정보를 제공합니다. 여기에는 ODBC 날짜 및 시간 함수가 포함됩니다.

분산 쿼리에 데이터 형식 매핑

날짜 및 시간 데이터 형식이 SQL Server 버전 또는 공급자가 다른 서버 간의 분산 쿼리에 어떻게 영향을 미치는지에 대한 정보를 제공합니다.