다음을 통해 공유


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 사양:

  • 소수 자릿수 초를 나타내는 소수점 오른쪽 자릿수는 0에서 최대 7(100나노초)까지 지정할 수 있습니다.

  • SQL Server 2008에서 호환성 수준을 10으로 설정한 경우 리터럴은 내부적으로 새 time 형식으로 매핑됩니다.

ANSI 및 ISO 8601 호환성

datetime의 ANSI 및 ISO 8601 호환성은 datetime2에 적용됩니다.

다음 예에서는 문자열을 각각 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