날짜 및 시간 데이터 형식 및 함수(Transact-SQL)Date and Time Data Types and Functions (Transact-SQL)

이 항목은 다음에 적용됩니다.예SQL Server(2012부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO: yesSQL Server (starting with 2012)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

이 항목의 다음 섹션에서는 Transact-SQLTransact-SQL의 모든 날짜/시간 데이터 형식 및 함수에 대한 개요를 제공합니다.The following sections in this topic provide an overview of all Transact-SQLTransact-SQL date and time data types and functions.

날짜 및 시간 데이터 형식 Date and Time data types

Transact-SQLTransact-SQL 날짜 및 시간 데이터 형식이 다음 표에 나열 되어 있습니다.The Transact-SQLTransact-SQL date and time data types are listed in the following table:

데이터 형식Data type 형식Format 범위Range 정확도Accuracy 저장소 크기(바이트)Storage size (bytes) 사용자 정의 초 소수 부분 자릿수User-defined fractional second precision 표준 시간대 오프셋Time zone offset
timetime hh:mm:ss[.nnnnnnn]hh:mm:ss[.nnnnnnn] 00:00:00.0000000부터 23:59:59.9999999까지00:00:00.0000000 through 23:59:59.9999999 100나노초100 nanoseconds 3 ~ 53 to 5 Yes 아니요No
datedate YYYY-MM-DDYYYY-MM-DD 0001-01-01부터 31.12.99까지0001-01-01 through 9999-12-31 1일1 day 33 아니요No 아니요No
smalldatetimesmalldatetime YYYY-MM-DD hh:mm:ssYYYY-MM-DD hh:mm:ss 1900-01-01부터 2079-06-06까지1900-01-01 through 2079-06-06 1분1 minute 44 아니요No 아니요No
datetimedatetime YYYY-MM-DD hh:mm:ss[.nnn]YYYY-MM-DD hh:mm:ss[.nnn] 1753-01-01부터 9999-12-31까지1753-01-01 through 9999-12-31 0.00333초0.00333 second 88 아니요No 아니요No
datetime2datetime2 YYYY-MM-DD hh:mm:ss[.nnnnnnn]YYYY-MM-DD hh:mm:ss[.nnnnnnn] 0001-01-01 00:00:00.0000000부터 9999-12-31 23:59:59.9999999까지0001-01-01 00:00:00.0000000 through 9999-12-31 23:59:59.9999999 100나노초100 nanoseconds 6 ~ 86 to 8 Yes 아니요No
datetimeoffsetdatetimeoffset YYYY-월-일 h:mm: ss [.nnnnnnn] [+ |-] hh: mmYYYY-MM-DD hh:mm:ss[.nnnnnnn] [+|-]hh:mm 0001-01-01 00:00:00.0000000부터 9999-12-31 23:59:59.9999999까지(UTC)0001-01-01 00:00:00.0000000 through 9999-12-31 23:59:59.9999999 (in UTC) 100나노초100 nanoseconds 8 ~ 108 to 10 Yes Yes

참고

Transact-SQLTransact-SQL rowversion 데이터 형식이 날짜 또는 시간 데이터 형식 않습니다.The Transact-SQLTransact-SQL rowversion data type is not a date or time data type. 타임 스탬프 에 대 한 사용 되지 않는 동의어 rowversion합니다.timestamp is a deprecated synonym for rowversion.

날짜 및 시간 함수 Date and Time functions

다음 표에는 Transact-SQLTransact-SQL 날짜 및 시간 함수가 나와 있습니다.The Transact-SQLTransact-SQL date and time functions are listed in the following tables. 결정성에 대 한 자세한 내용은 참조 Deterministic and Nondeterministic Functions합니다.For more information about determinism, see Deterministic and Nondeterministic Functions.

시스템 날짜 및 시간 값 가져오기 함수 Functions that get system Date and Time values

모든 시스템 날짜 및 시간 값은 SQL ServerSQL Server 인스턴스가 실행 중인 컴퓨터 운영 체제에서 가져옵니다.All system date and time values are derived from the operating system of the computer on which the instance of SQL ServerSQL Server is running.

정밀도가 높은 시스템 날짜 및 시간 함수Higher-Precision System Date and Time Functions

SQL Server 2017SQL Server 2017GetSystemTimeAsFileTime() Windows API를 사용 하 여 날짜 및 시간 값을 가져옵니다. obtains the date and time values by using the GetSystemTimeAsFileTime() Windows API. 정확도는 SQL ServerSQL Server 인스턴스가 실행되고 있는 컴퓨터의 하드웨어와 Windows 버전에 따라 달라집니다.The accuracy depends on the computer hardware and version of Windows on which the instance of SQL ServerSQL Server is running. 이 API의 정밀도는 100나노초로 고정됩니다.The precision of this API is fixed at 100 nanoseconds. GetSystemTimeAdjustment() Windows API를 사용 하 여 정확도 확인할 수 있습니다.The accuracy can be determined by using the GetSystemTimeAdjustment() Windows API.

함수Function 구문Syntax 반환 값Return value 반환 데이터 형식Return data type 결정성Determinism
SYSDATETIMESYSDATETIME SYSDATETIME ()SYSDATETIME () 반환 된 datetime2 (7) 되는 컴퓨터의 시간과 날짜를 포함 하는 값의 인스턴스 SQL ServerSQL Server 실행 되 고 합니다.Returns a datetime2(7) value that contains the date and time of the computer on which the instance of SQL ServerSQL Server is running. 여기에는 표준 시간대 오프셋이 포함되지 않습니다.The time zone offset is not included. datetime2(7)datetime2(7) 비결정적Nondeterministic
SYSDATETIMEOFFSETSYSDATETIMEOFFSET SYSDATETIMEOFFSET ( )SYSDATETIMEOFFSET ( ) 반환 된 (7) 되는 컴퓨터의 시간과 날짜를 포함 하는 값의 인스턴스 SQL ServerSQL Server 실행 되 고 합니다.Returns a datetimeoffset(7) value that contains the date and time of the computer on which the instance of SQL ServerSQL Server is running. 여기에는 표준 시간대 오프셋이 포함됩니다.The time zone offset is included. (7)datetimeoffset(7) 비결정적Nondeterministic
SYSUTCDATETIMESYSUTCDATETIME SYSUTCDATETIME ( )SYSUTCDATETIME ( ) 반환 된 datetime2 (7) 되는 컴퓨터의 시간과 날짜를 포함 하는 값의 인스턴스 SQL ServerSQL Server 실행 되 고 합니다.Returns a datetime2(7) value that contains the date and time of the computer on which the instance of SQL ServerSQL Server is running. 날짜 및 시간이 UTC (협정 세계시) 시간으로 반환 됩니다.The date and time is returned as UTC time (Coordinated Universal Time). datetime2(7)datetime2(7) 비결정적Nondeterministic

정밀도 낮은 시스템 날짜 및 시간 함수Lower-Precision system Date and Time functions

함수Function 구문Syntax 반환 값Return value 반환 데이터 형식Return data type 결정성Determinism
CURRENT_TIMESTAMPCURRENT_TIMESTAMP CURRENT_TIMESTAMPCURRENT_TIMESTAMP 반환은 datetime 되는 컴퓨터의 시간과 날짜를 포함 하는 값의 인스턴스 SQL ServerSQL Server 실행 되 고 있습니다.Returns a datetime value that contains the date and time of the computer on which the instance of SQL ServerSQL Server is running. 여기에는 표준 시간대 오프셋이 포함되지 않습니다.The time zone offset is not included. datetimedatetime 비결정적Nondeterministic
GETDATEGETDATE GETDATE ( )GETDATE ( ) 반환은 datetime 되는 컴퓨터의 시간과 날짜를 포함 하는 값의 인스턴스 SQL ServerSQL Server 실행 되 고 있습니다.Returns a datetime value that contains the date and time of the computer on which the instance of SQL ServerSQL Server is running. 여기에는 표준 시간대 오프셋이 포함되지 않습니다.The time zone offset is not included. datetimedatetime 비결정적Nondeterministic
GETUTCDATEGETUTCDATE GETUTCDATE ( )GETUTCDATE ( ) 반환은 datetime 되는 컴퓨터의 시간과 날짜를 포함 하는 값의 인스턴스 SQL ServerSQL Server 실행 되 고 있습니다.Returns a datetime value that contains the date and time of the computer on which the instance of SQL ServerSQL Server is running. 날짜 및 시간이 UTC (협정 세계시) 시간으로 반환 됩니다.The date and time is returned as UTC time (Coordinated Universal Time). datetimedatetime 비결정적Nondeterministic

날짜 및 시간 부분 가져오기 함수 Functions that get Date and Time parts

함수Function 구문Syntax 반환 값Return value 반환 데이터 형식Return data type 결정성Determinism
DATENAMEDATENAME DATENAME ( datepart , 날짜 )DATENAME ( datepart , date ) 지정 된을 나타내는 문자열을 반환 datepart 지정한 날짜의 합니다.Returns a character string that represents the specified datepart of the specified date. nvarcharnvarchar 비결정적Nondeterministic
DATEPARTDATEPART DATEPART ( datepart , 날짜 )DATEPART ( datepart , date ) 지정 된을 나타내는 정수를 반환 datepart 는 지정 된 날짜합니다.Returns an integer that represents the specified datepart of the specified date. intint 비결정적Nondeterministic
DAYDAY DAY ( 날짜 )DAY ( date ) 지정 된 날짜 부분을 나타내는 정수를 반환 날짜합니다.Returns an integer that represents the day part of the specified date. intint 결정적Deterministic
MONTHMONTH 월 ( 날짜 )MONTH ( date ) 지정 된의 월 부분을 나타내는 정수를 반환 날짜합니다.Returns an integer that represents the month part of a specified date. intint 결정적Deterministic
YEARYEAR 연도 ( 날짜 )YEAR ( date ) 지정 된 연도 부분을 나타내는 정수를 반환 날짜합니다.Returns an integer that represents the year part of a specified date. intint 결정적Deterministic

해당 부분에서 날짜 및 시간 값 가져오기 함수 Functions that get Date and Time values from their parts

함수Function 구문Syntax 반환 값Return value 반환 데이터 형식Return data type 결정성Determinism
DATEFROMPARTSDATEFROMPARTS DATEFROMPARTS ( 연도, , )DATEFROMPARTS ( year, month, day ) 반환 된 날짜 지정 된 연도, 월 및 일에 대 한 값입니다.Returns a date value for the specified year, month, and day. datedate 결정적Deterministic
DATETIME2FROMPARTSDATETIME2FROMPARTS DATETIME2FROMPARTS ( 연도, , , 시간, , , 분수, 정밀도)DATETIME2FROMPARTS ( year, month, day, hour, minute, seconds, fractions, precision) 반환 된 datetime2 지정한 전체 자릿수 하 고 지정 된 날짜 및 시간에 대 한 값입니다.Returns a datetime2 value for the specified date and time and with the specified precision. datetime2 ( 정밀도 )datetime2( precision ) 결정적Deterministic
DATETIMEFROMPARTSDATETIMEFROMPARTS DATETIMEFROMPARTS ( 연도, , , 시간, , , 밀리초)DATETIMEFROMPARTS ( year, month, day, hour, minute, seconds, milliseconds) 반환 된 datetime 지정 된 날짜 및 시간에 대 한 값입니다.Returns a datetime value for the specified date and time. datetimedatetime 결정적Deterministic
DATETIMEOFFSETFROMPARTSDATETIMEOFFSETFROMPARTS DATETIMEOFFSETFROMPARTS ( 연도, , , 시간, , , 분수, hour_offset, minute_offset, 정밀도)DATETIMEOFFSETFROMPARTS ( year, month, day, hour, minute, seconds, fractions, hour_offset, minute_offset, precision) 반환 된 datetimeoffset 고 지정 된 오프셋 및 전체 자릿수 지정 된 날짜 및 시간에 대 한 값입니다.Returns a datetimeoffset value for the specified date and time and with the specified offsets and precision. datetime ( 정밀도 )datetime( precision ) 결정적Deterministic
SMALLDATETIMEFROMPARTSSMALLDATETIMEFROMPARTS SMALLDATETIMEFROMPARTS ( 연도, , , 시간, )SMALLDATETIMEFROMPARTS ( year, month, day, hour, minute ) 반환 된 smalldatetime 지정 된 날짜 및 시간에 대 한 값입니다.Returns a smalldatetime value for the specified date and time. smalldatetimesmalldatetime 결정적Deterministic
TIMEFROMPARTSTIMEFROMPARTS TIMEFROMPARTS ( 시간, , , 분수, 정밀도 )TIMEFROMPARTS ( hour, minute, seconds, fractions, precision ) 반환 된 시간 지정한 전체 자릿수 하 고 지정된 된 시간에 대 한 값입니다.Returns a time value for the specified time and with the specified precision. 시간 ( 정밀도 )time( precision ) 결정적Deterministic

날짜 및 시간 차 가져오기 함수 Functions that get Date and Time difference

함수Function 구문Syntax 반환 값Return value 반환 데이터 형식Return data type 결정성Determinism
DATEDIFFDATEDIFF DATEDIFF ( datepart , startdate , enddate )DATEDIFF ( datepart , startdate , enddate ) 날짜 또는 시간 수를 반환 datepart 지정한 두 날짜 간에 겹쳐지는 합니다.Returns the number of date or time datepart boundaries that are crossed between two specified dates. intint 결정적Deterministic
DATEDIFF_BIGDATEDIFF_BIG DATEDIFF_BIG ( datepart , startdate , enddate )DATEDIFF_BIG ( datepart , startdate , enddate ) 날짜 또는 시간 수를 반환 datepart 지정한 두 날짜 간에 겹쳐지는 합니다.Returns the number of date or time datepart boundaries that are crossed between two specified dates. bigintbigint 결정적Deterministic

날짜 및 시간 값을 수정 하는 함수 Functions that modify Date and Time values

함수Function 구문Syntax 반환 값Return value 반환 데이터 형식Return data type 결정성Determinism
DATEADDDATEADD DATEADD (datepart , 번호 , 날짜 )DATEADD (datepart , number , date ) 새 반환 datetime 값을 지정 된 시간 간격을 더하여 datepart 는 지정 된 날짜합니다.Returns a new datetime value by adding an interval to the specified datepart of the specified date. 데이터 형식이 고 날짜 인수The data type of the date argument 결정적Deterministic
EOMONTHEOMONTH EOMONTH ( start_date [, month_to_add ])EOMONTH ( start_date [, month_to_add ] ) 선택 사항인 오프셋 옵션을 사용하여 지정한 날짜가 포함된 달의 마지막 날을 반환합니다.Returns the last day of the month that contains the specified date, with an optional offset. 반환 형식이 유형의 start_date 또는 날짜합니다.Return type is the type of start_date or date. 결정적Deterministic
SWITCHOFFSETSWITCHOFFSET 스위치오프셋 (DATETIMEOFFSET , time_zone)SWITCHOFFSET (DATETIMEOFFSET , time_zone) 스위치오프셋 DATETIMEOFFSET 값의 표준 시간대 오프셋 변경 되 고 UTC 값을 유지 합니다.SWITCHOFFSET changes the time zone offset of a DATETIMEOFFSET value and preserves the UTC value. datetimeoffset 의 소수 자릿수와는 DATETIMEOFFSETdatetimeoffset with the fractional precision of the DATETIMEOFFSET 결정적Deterministic
TODATETIMEOFFSETTODATETIMEOFFSET TODATETIMEOFFSET ( , time_zone)TODATETIMEOFFSET (expression , time_zone) TODATETIMEOFFSET은 datetime2 값을 datetimeoffset 값으로 변환합니다.TODATETIMEOFFSET transforms a datetime2 value into a datetimeoffset value. datetime2 값은 지정된 time_zone의 현지 시간으로 해석됩니다.The datetime2 value is interpreted in local time for the specified time_zone. datetimeoffset 의 소수 자릿수와는 datetime 인수datetimeoffset with the fractional precision of the datetime argument 결정적Deterministic

함수를 가져오거나 세션 형식 설정 Functions that get or set session format

함수Function 구문Syntax 반환 값Return value 반환 데이터 형식Return data type 결정성Determinism
@@DATEFIRST@@DATEFIRST @@DATEFIRST@@DATEFIRST 세션에 대한 SET DATEFIRST의 현재 값을 반환합니다.Returns the current value, for the session, of SET DATEFIRST. tinyinttinyint 비결정적Nondeterministic
SET DATEFIRSTSET DATEFIRST SET DATEFIRST { 번호 | @ number_var }SET DATEFIRST { number | @number_var } 일주일의 시작 요일을 1부터 7까지의 숫자로 설정합니다.Sets the first day of the week to a number from 1 through 7. 해당 사항 없음Not applicable 해당 사항 없음Not applicable
SET DATEFORMATSET DATEFORMAT SET DATEFORMAT { 형식 | @ format_var }SET DATEFORMAT { format | @format_var } 입력에 대 한 날짜 부분 (월/일/연도)의 순서를 설정 datetime 또는 smalldatetime 데이터입니다.Sets the order of the dateparts (month/day/year) for entering datetime or smalldatetime data. 해당 사항 없음Not applicable 해당 사항 없음Not applicable
@@LANGUAGE@@LANGUAGE @@LANGUAGE@@LANGUAGE 현재 사용 중인 언어의 이름을 반환합니다.Returns the name of the language that is currently being used. @@LANGUAGE 날짜 또는 시간 함수가 아닙니다.@@LANGUAGE is not a date or time function. 하지만 언어 설정은 날짜 함수의 출력에 영향을 줄 수 있습니다.However, the language setting can affect the output of date functions. 해당 사항 없음Not applicable 해당 사항 없음Not applicable
언어 설정SET LANGUAGE SET LANGUAGE {[N] '언어' | @ language_var }SET LANGUAGE { [ N ] 'language' | @language_var } 세션 및 시스템 메시지에 대한 언어 환경을 설정합니다.Sets the language environment for the session and system messages. SET LANGUAGE는 날짜 또는 시간 함수가 아닙니다.SET LANGUAGE is not a date or time function. 하지만 언어 설정은 날짜 함수의 출력에 영향을 줍니다.However, the language setting affects the output of date functions. 해당 사항 없음Not applicable 해당 사항 없음Not applicable
sp_helplanguagesp_helplanguage sp_helplanguage [[ @language = ] '언어' ]sp_helplanguage [ [ @language = ] 'language' ] 지원되는 모든 언어의 날짜 형식에 대한 정보를 반환합니다.Returns information about date formats of all supported languages. sp_helplanguage 가 날짜 또는 시간 저장 프로시저입니다.sp_helplanguage is not a date or time stored procedure. 하지만 언어 설정은 날짜 함수의 출력에 영향을 줍니다.However, the language setting affects the output of date functions. 해당 사항 없음Not applicable 해당 사항 없음Not applicable

날짜 및 시간 값의 유효성을 검사 하는 함수 Functions that validate Date and Time values

함수Function 구문Syntax 반환 값Return value 반환 데이터 형식Return data type 결정성Determinism
ISDATEISDATE ISDATE ( )ISDATE ( expression ) 결정 여부는 datetime 또는 smalldatetime 입력 식이 유효한 날짜 또는 시간 값입니다.Determines whether a datetime or smalldatetime input expression is a valid date or time value. intint ISDATE는 CONVERT 함수와 함께 사용되고 CONVERT 스타일 매개 변수가 지정되고 스타일이 0, 100, 9 또는 109가 아닌 경우에만 결정적입니다.ISDATE is deterministic only if you use it with the CONVERT function, when the CONVERT style parameter is specified, and when style is not equal to 0, 100, 9, or 109.
항목Topic DescriptionDescription
CAST 및 CONVERT(Transact-SQL)CAST and CONVERT (Transact-SQL) 문자열 리터럴과 다른 날짜 및 시간 형식 간의 날짜/시간 값 변환에 대한 정보를 제공합니다.Provides information about the conversion of date and time values to and from string literals and other date and time formats.
국가별 Transact-SQL 문 작성Write International Transact-SQL Statements 데이터베이스 및 사용 하는 데이터베이스 응용 프로그램의 이식성에 대 한 지침을 제공 Transact-SQLTransact-SQL 다른 디렉터리로 또는 해당 언어 문을 여러 언어를 지원 합니다.Provides guidelines for portability of databases and database applications that use Transact-SQLTransact-SQL statements from one language to another, or that support multiple languages.
ODBC 스칼라 함수 ( Transact SQL )ODBC Scalar Functions (Transact-SQL) 사용할 수 있는 ODBC 스칼라 함수에 대 한 정보를 제공 Transact-SQLTransact-SQL 문.Provides information about ODBC scalar functions that can be used in Transact-SQLTransact-SQL statements. ODBC 날짜 및 시간 함수가 포함 됩니다.This includes ODBC date and time functions.
표준 시간대 ( Transact SQL )AT TIME ZONE (Transact-SQL) 표준 시간대 변환 기능을 제공 합니다.Provides time zone conversion.

참고 항목See also

함수Functions
데이터 형식(Transact-SQL)Data Types (Transact-SQL)