date(Transact-SQL)
날짜를 정의합니다.
모든 Transact-SQL 날짜/시간 데이터 형식 및 함수에 대한 개요는 날짜 및 시간 함수(Transact-SQL)를 참조하십시오. 날짜/시간 데이터 형식 및 함수에 대한 자세한 내용과 일반적인 예는 날짜 및 시간 데이터 사용을 참조하십시오.
date 설명
속성 |
값 |
---|---|
구문 |
date |
용도 |
DECLARE @MyDate date CREATE TABLE Table1 ( Column1 date ) |
기본 문자열 리터럴 형식 (하위 클라이언트에 대해 사용됨) |
YYYY-MM-DD 자세한 내용은 날짜 및 시간 데이터 사용의 "하위 클라이언트에 대한 이전 버전과의 호환성" 섹션을 참조하십시오. |
범위 |
0001-01-01부터 9999-12-31까지 서기 1년 1월 1일부터 9999년 12월 31일까지 |
요소 범위 |
YYYY는 0001에서 9999 사이에 속하는 4자리 숫자로, 연도를 나타냅니다. MM은 01에서 12 사이에 속하는 두 자리 숫자로, 지정한 연도의 월을 나타냅니다. DD는 월에 따라 01에서 31 사이에 속하는 두 자리 숫자로, 특정 월의 일을 나타냅니다. |
문자 길이 |
10자리 |
전체 자릿수, 소수 자릿수 |
10, 0 |
저장소 크기 |
3바이트(고정) |
저장소 구조 |
1, 3바이트 정수로 날짜를 저장합니다. |
정확도 |
1일 |
기본값 |
1900-01-01 이 값은 time에서 datetime2 또는 datetimeoffset으로의 암시적 변환을 위해 추가되는 날짜 부분에 사용됩니다. |
달력 |
일반 달력 |
사용자 정의 초 소수 부분 자릿수 |
아니요 |
표준 시간대 오프셋 인식 및 유지 |
아니요 |
일광 절약 시간제 인식 |
아니요 |
date에 대해 지원되는 문자열 리터럴 형식
다음 표에서는 date 데이터 형식에 대해 유효한 문자열 리터럴 형식을 보여 줍니다.
숫자 |
설명 |
---|---|
mdy [m]m/dd/[yy]yy [m]m-dd-[yy]yy [m]m.dd.[yy]yy myd mm/[yy]yy/dd mm-[yy]yy/dd [m]m.[yy]yy.dd dmy dd/[m]m/[yy]yy dd-[m]m-[yy]yy dd.[m]m.[yy]yy dym dd/[yy]yy/[m]m dd-[yy]yy-[m]m dd.[yy]yy.[m]m ymd [yy]yy/[m]m/dd [yy]yy-[m]m-dd [yy]yy-[m]m-dd |
[m]m, dd, [yy]yy는 슬래시(/), 하이픈(-) 또는 마침표(.)로 구분된 문자열에서 월, 일, 연도를 나타냅니다. 네 자리 또는 두 자리 연도만 지원됩니다. 가능하면 네 자리 연도를 사용하십시오. 두 자리 연도를 네 자리 연도로 해석할 구분 연도를 0001에서 9999 사이의 정수 중에서 지정하려면 two digit year cutoff 옵션을 사용하십시오. 마지막 두 자리와 같거나 작은 두 자리 연도는 구분 연도와 같은 세기 연도입니다. 두 자리 연도가 구분 연도의 마지막 두 자리보다 크면 구분 연도보다 하나 이전의 세기로 해석됩니다. 예를 들어 두 자리 연도 구분이 2049(기본값)이면 두 자리 연도 49는 2049로 해석되고 두 자리 연도 50은 1950으로 해석됩니다. 기본 날짜 형식은 현재 언어 설정에 따라 결정됩니다. SET LANGUAGE 및 SET DATEFORMAT 문을 사용하여 날짜 형식을 변경할 수 있습니다. ydm 형식은 date에 대해 지원되지 않습니다. |
알파벳 |
설명 |
---|---|
mon [dd][,] yyyy mon dd[,] [yy]yy mon yyyy [dd] [dd] mon[,] yyyy dd mon[,][yy]yy dd [yy]yy mon [dd] yyyy mon yyyy mon [dd] yyyy [dd] mon |
mon은 현재 언어에서 지정된 월의 전체 이름 또는 약어를 나타냅니다. 쉼표는 선택 사항이며 대문자는 무시됩니다. 모호성을 피하려면 4자리 연도를 사용하십시오. 일이 생략된 경우 해당 월의 첫째 날이 사용됩니다. |
ISO 8601 |
설명 |
---|---|
YYYY-MM-DD YYYYMMDD |
SQL 표준과 같습니다. 이는 유일하게 국제 표준으로 정의된 형식입니다. |
구분되지 않음 |
설명 |
---|---|
[yy]yymmdd yyyy[mm][dd] |
date 데이터는 4자리, 6자리 또는 8자리로 지정할 수 있습니다. 6자리 또는 8자리 문자열은 항상 ymd로 해석됩니다. 월과 일은 항상 두 자리여야 합니다. 4자리 문자열은 연도로 해석됩니다. |
ODBC |
설명 |
---|---|
{ d 'yyyy-mm-dd' } |
ODBC API에 따라 다릅니다. SQL Server 2005와 동일한 SQL Server 2008의 함수입니다. |
W3C XML 형식 |
설명 |
---|---|
yyyy-mm-ddTZD |
XML/SOAP을 사용할 경우 지원됩니다. TZD는 표준 시간대 지정자(Z나 +hh:mm 또는 -hh:mm)입니다.
|
ANSI 및 ISO 8601 호환성
date는 일반 달력에 대한 ANSI SQL 표준 정의 "NOTE 85 - Datetime 날짜 형식을 사용하면 일반 달력 형식의 날짜를 0001–01–01 CE에서 9999–12–31 CE 사이에 속하는 날짜 범위에 저장할 수 있습니다."를 따릅니다.
하위 클라이언트에 대해 사용되는 기본 문자열 리터럴 형식은 YYYY-MM-DD로 정의되는 SQL 표준 형식을 따릅니다. 이 형식은 DATE에 대한 ISO 8601 정의와 같습니다.
예
다음 예에서는 문자열을 각 날짜 및 시간 데이터 형식으로 캐스팅하는 결과를 비교합니다.
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 |