-- 온라인 설명서
지정된 startdate와 enddate 간에 겹쳐지는 지정된 datepart 범위의 수(부호 있는 정수)를 반환합니다.
Transact-SQL 구문 표기 규칙
DATEDIFF ( datepart , startdate , enddate ) |
datepart
겹쳐지는 범위의 유형을 지정하는 startdate와 enddate 부분입니다.
다음 표에서는 올바른 모든 datepart 인수를 보여 줍니다.
해당하는 사용자 정의 변수는 사용할 수 없습니다.
datepart |
약어 |
year |
yy, yyyy |
quarter |
qq, q |
month |
mm, m |
dayofyear |
dy, y |
day |
dd, d |
week |
wk, ww |
hour |
hh |
minute |
mi, n |
second |
ss, s |
millisecond |
ms |
microsecond |
mcs |
nanosecond |
ns |
startdate
time, date, smalldatetime, datetime, datetime2 또는 datetimeoffset 값으로 확인될 수 있는 식입니다.
date는 식, 열 식, 사용자 정의 변수 또는 문자열 리터럴일 수 있습니다.
enddate에서 startdate를 뺍니다.
모호성을 피하려면 4자리 연도를 사용하십시오.
2자리 연도에 대한 자세한 내용은 two digit year cutoff 옵션을 참조하십시오.
enddate
startdate를 참조하십시오.
· 각 datepart와 해당 약어는 동일한 값을 반환합니다.
반환 값이 int에 대한 범위(-2,147,483,648에서 +2,147,483,647 사이)를 벗어날 경우 오류가 반환됩니다. millisecond의 경우 startdate와 enddate 사이의 최대 차이는 24일, 20시간, 31분, 23.647초입니다.
second의 경우 최대 차이는 68년입니다.
startdate와 enddate가 모두 시간 값으로만 할당되고 datepart가 시간 datepart가 아닐 경우 0이 반환됩니다.
startdate 또는 enddate의 표준 시간대 오프셋 구성 요소는 반환 값을 계산하는 데 사용되지 않습니다.
smalldatetime은 분 단위까지만 정확하므로 startdate 또는 enddate에 smalldatetime 값이 사용될 경우
반환 값에서 초와 밀리초는 항상 0으로 설정됩니다.
날짜 데이터 형식의 변수에 시간 값만 할당된 경우 누락된 날짜 부분의 값은 기본값인 1900-01-01로 설정되고,
시간 또는 날짜 데이터 형식의 변수에 날짜 값만 할당될 경우 누락된 시간 부분의 값은 기본값인 00:00:00으로 설정됩니다.
startdate 또는 enddate 중 하나는 시간 부분만 있고 다른 하나는 날짜 부분만 있는 경우
누락된 시간 및 날짜 부분은 기본값으로 설정됩니다.
startdate와 enddate의 날짜 데이터 형식이 다르고 한 쪽의 시간 부분 또는
소수 자릿수 초의 전체 자릿수가 다른 쪽보다 많을 경우 다른 쪽에서 누락된 부분은 0으로 설정됩니다.
datepart 범위
다음 문은 동일한 startdate와 동일한 enddate를 가집니다. 이러한 날짜는 서로 인접하며 차이는 .0000001초입니다. 각 문에서 startdate와 enddate 사이의 차이는 해당 datepart에서 하나의 달력 또는 시간 범위를 넘어섭니다.
각 문은 1을 반환합니다. 이 예에서 다른 연도가 사용되고 startdate와 enddate가 달력의 같은 주에 있을 경우 week에 대한 반환 값은 0이 됩니다.
DATEDIFF는 SELECT 목록, WHERE, HAVING, GROUP BY 및 ORDER BY 절에서 사용할 수 있습니다.
해당일간의 간격을 이용한 쿼리를 짜야하는데 사용한 쿼리이다
막상 사용할려먼 항상 까먹는다 이름이 좀 애매해서 ㅎㅎ
DIFF 가 difference 의 약어인가보다
날짜간격을 구하기 위해선 날짜형 함수로 변환해서 빼서 구하는 방법도 있지만
DATEDIFF() 함수를 사용하면 유용하다.
'DATABASE' 카테고리의 다른 글
SQL Server 2008 MERGE 기능 (0) | 2010.07.02 |
---|---|
소수점 자르기에 유용한 STR() 함수 (0) | 2010.03.26 |
특정 문자를 기준으로 앞뒤 자르기에 유용한 CHARINDEX () 함수 (0) | 2010.01.26 |
절대값 양수 반환에 쓰이는 MSSQL ABS() 함수 (0) | 2010.01.15 |
MSSQL 자동증가(IDENTITY) 다시 세팅 (0) | 2010.01.06 |