datetime2(Transact-SQL)
24시간제 기준의 시간과 결합된 날짜를 정의합니다. datetime2는 더 큰 날짜 범위, 더 많은 기본 소수 자릿수, 선택 항목인 사용자 지정 전체 자릿수를 갖는 기존 datetime 형식의 확장으로 볼 수 있습니다.
모든 Transact-SQL 날짜/시간 데이터 형식 및 함수에 대한 개요는 날짜 및 시간 데이터 형식 및 함수(Transact-SQL)를 참조하십시오. 날짜/시간 데이터 형식 및 함수에 대한 자세한 내용과 일반적인 예는 날짜 및 시간 데이터 사용을 참조하십시오.
datetime2 설명
속성 |
값 |
---|---|
구문 |
datetime2 [ (fractional seconds precision) ] |
용도 |
DECLARE @MyDatetime2 datetime2(7) CREATE TABLE Table1 ( Column1 datetime2(7) ) |
기본 문자열 리터럴 형식 (하위 클라이언트에 대해 사용됨) |
YYYY-MM-DD hh:mm:ss[.소수 자릿수 초] 자세한 내용은 날짜 및 시간 데이터 사용의 "하위 클라이언트에 대한 이전 버전과의 호환성" 섹션을 참조하십시오. |
날짜 범위 |
0001-01-01부터 9999-12-31까지 서기 1년부터 1월 1일부터 9999년 12월 31일까지 |
시간 범위 |
00:00:00부터 23:59:59.9999999까지 |
표준 시간대 오프셋 범위 |
없음 |
요소 범위 |
YYYY는 0001에서 9999 사이에 속하는 4자리 숫자로, 연도를 나타냅니다. MM은 01에서 12 사이에 속하는 두 자리 숫자로, 지정된 연도의 월을 나타냅니다. DD는 월에 따라 01에서 31 사이에 속하는 두 자리 숫자로, 특정 월의 일을 나타냅니다. hh는 00에서 23 사이에 속하는 두 자리 숫자로, 시간을 나타냅니다. Mm은 00에서 59 사이에 속하는 두 자리 숫자로, 분을 나타냅니다. ss는 00에서 59 사이에 속하는 두 자리 숫자로, 초를 나타냅니다. n*은 0에서 9999999 사이에 속하는 0 ~ 7 자리의 숫자로, 소수 자릿수 초를 나타냅니다. |
문자 길이 |
최소 19자리(YYYY-MM-DD hh:mm:ss )부터 최대 27자리(YYYY-MM-DD hh:mm:ss.0000000)까지 |
전체 자릿수, 소수 자릿수 |
0 ~ 7자리, 정확도 100ns. 기본 전체 자릿수는 7자리입니다. |
저장소 크기 |
전체 자릿수가 3 미만인 경우 6바이트, 3 및 4인 경우 7바이트, 기타 모든 전체 자릿수의 경우 8바이트가 필요합니다. |
정확도 |
100나노초 |
기본값 |
1900-01-01 00:00:00 |
달력 |
일반 달력 |
사용자 정의 초 소수 부분 자릿수 |
예 |
표준 시간대 오프셋 인식 및 유지 |
아니요 |
일광 절약 시간제 인식 |
아니요 |
데이터 형식 메타데이터의 경우 sys.systypes(Transact-SQL) 또는 TYPEPROPERTY(Transact-SQL)를 참조하십시오. 일부 날짜 및 시간 데이터 형식의 경우 전체 자릿수와 소수 자릿수는 변할 수 있습니다. 열에 대한 전체 자릿수와 소수 자릿수를 얻으려면 COLUMNPROPERTY(Transact-SQL), COL_LENGTH(Transact-SQL) 또는 sys.columns(Transact-SQL)를 참조하십시오.
datetime2에 대해 지원되는 문자열 리터럴 형식
다음 표에는 datetime2에 대해 지원되는 ISO 8601 및 ODBC 문자열 리터럴 형식이 나와 있습니다. datetime2의 날짜 및 시간 부분에 대한 영문자, 숫자, 시간 및 구분되지 않은 형식에 대한 내용은 date(Transact-SQL) 및 time(Transact-SQL)을 참조하십시오.
ISO 8601 |
설명 |
---|---|
YYYY-MM-DDThh:mm:ss[.nnnnnnn] YYYY-MM-DDThh:mm:ss[.nnnnnnn] |
이 형식은 SET LANGUAGE 및 SET DATEFORMAT 세션 로캘 설정의 영향을 받지 않습니다. T, 콜론(:) 및 마침표(.)는 문자열 리터럴에 포함됩니다(예: '2007-05-02T19:58:47.1234567') |
ODBC |
설명 |
---|---|
{ ts 'yyyy-mm-dd hh:mm:ss[.소수 자릿수 초]' } |
ODBC API 사양:
|
예
다음 예에서는 문자열을 각각 date 및 time 데이터 형식으로 캐스팅한 결과를 비교합니다.
SELECT
CAST('2007-05-08 12:35:29. 1234567 +12:15' AS time(7)) AS 'time'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS date) AS 'date'
,CAST('2007-05-08 12:35:29.123' AS smalldatetime) AS
'smalldatetime'
,CAST('2007-05-08 12:35:29.123' AS datetime) AS 'datetime'
,CAST('2007-05-08 12:35:29. 1234567 +12:15' AS datetime2(7)) AS
'datetime2'
,CAST('2007-05-08 12:35:29.1234567 +12:15' AS datetimeoffset(7)) AS
'datetimeoffset';
결과 집합은 다음과 같습니다.
데이터 형식 |
출력 |
---|---|
time |
12:35:29. 1234567 |
date |
2007-05-08 |
smalldatetime |
2007-05-08 12:35:00 |
datetime |
2007-05-08 12:35:29.123 |
datetime2 |
2007-05-08 12:35:29. 1234567 |
datetimeoffset |
2007-05-08 12:35:29.1234567 +12:15 |