날짜 및 시간 함수
DATEPART : 날짜의 특정 부분을 나타내는 정수를 반환한다.
DATEPART (datepart, date) |
인수
datepart : 새 값을 반환할 날짜 부분을 지정하는 매개 변수
date : 유효한 날짜 또는 날짜 형식의 문자열을 반환
주의
인수가 null이면 DATEPART결과도 null이다.
약어(DATEPART, DATEADD, DATEDIFF 공통)
Year : yy, yyyy Quarter : qq, q Month : mm, m DayofYear : dy, y Day : dd, d Week : wk, ww Weekday : dw, w Hour : Hh Minute : mi, n Second : ss, s Millisecond : Ms |
사용 예
SELECT DATEPART("yy", GETDATE()) as Year SELECT DATEPART("qq", GETDATE()) as Quarter SELECT DATEPART("mm", GETDATE()) as month SELECT DATEPART("dy", GETDATE()) as DayofYear SELECT DATEPART("dd", GETDATE()) as Day SELECT DATEPART("wk", GETDATE()) as Week SELECT DATEPART("dw", GETDATE()) as Weekday SELECT DATEPART("hh", GETDATE()) as Hour SELECT DATEPART("mi", GETDATE()) as Minute SELECT DATEPART("ss", GETDATE()) as Second SELECT DATEPART("ms", GETDATE()) as Millisecond |
DATEADD : 날짜에서 지정한 날짜 부분에 날짜 또는 시간 간격을나타내는 숫자를 더한 후
새로운 DT_DBTIMESTAMP 값을 반환한다. 숫자 매개 변수는 정술 계산되고날짜 매개 변수는
유효한 날짜여야 한다.
구문
DATEADD(datepart, number, date) |
인수
datepart : 숫자를 더할 날짜 부분을 지정하는 매개 변수
number : datepart에 더해지는 값. ( 값은 식을 구문 분석할 때 알려진 정수 값이어야 한다. )
date : 유효한 날자 또는 날짜 형식의 문자열을 반환하는 식
사용 예
SELECT DATEADD("yy",1, GETDATE()) as "1년후" SELECT DATEADD("mm",1, GETDATE()) as "한달후" SELECT DATEADD("dd",1, GETDATE()) as "1일후"
SELECT DATEADD("yy",-1, GETDATE()) as "1년전" SELECT DATEADD("mm",-1, GETDATE()) as "한달전" SELECT DATEADD("dd",-1, GETDATE()) as "1일전" |
DATEDIFF : 지정한 두 날짜 간에 교차되는 날짜와 시간 경계값을반환한다. datepart 매개 변수는 비교할 날짜 및 시간 범위를 식별한다.
구문
DATEDIFF(datepart, startdate, enddate) |
인수
datepart : 비교하여 값을 반환할 날짜 부분을 지정하는 매개변수
startdate : 간격의 시작 날짜
enddate : 간격의 종료 날짜
사용 예
SELECT DATEDIFF("yy", getdate(), '2023/04/08') as "2023/04/08 남은년수" SELECT DATEDIFF("mm", getdate(), '2023/04/08') as "2023/04/08 남은개월수" SELECT DATEDIFF("dd", getdate(), '2023/04/08') as "2023/04/08 남은일수" |
시작시간과 종료시간의 데이터가 있을 때
종료시간이 시작시간 보다 2시간 이상인 데이터를 출력하고 싶다면
1. DATEADD 사용 : DATEADD("mi",120, indate) <= outdate
2. DATEDIFF 사용 : DATEDIFF("mi",indate, outdate) >= 120
'프로그램 > MS SQL' 카테고리의 다른 글
com.microsoft.sqlserver.jdbc.SQLServerException (0) | 2024.03.07 |
---|---|
mssql에서 오라클 dual 처럼 사용하는 방법 (0) | 2014.04.20 |
MSSQL ISNULL /MSSQL 오라클 NVL과 같은 기능 ISNULL (0) | 2014.04.14 |
MSSQL 형변환/문자를 숫자로/숫자를 문자로 바꾸는 방법 (0) | 2014.04.03 |
MS SQL 오늘 날짜 가져오는 방법 (0) | 2014.03.24 |