날짜 범위 비교 방법!
보통 조건을 통해 들어온 값에 대해 날짜를 비교하는 경우가 많다. 이럴때 사용하는 방법 두 가지를 소개하고자 한다.
우선 해당 목록에서 날짜를 받아 그 범위에 맞는 데이터를 검색하고자 한다. 이 때 시작 날짜와 종료날짜 데이터를 받아 쿼리문에 대입하여 비교를 해준다. 주의할 점은 넘어오는 날짜 및 비교할 데이터 타입을 확인해야되고 필자는 둘 다 텍스트 형식으로 되어있다.
첫 번째 방법
AND CONVERT(DATE, 날짜) >= CONVERT(DATE, 시작날짜)
AND CONVERT(DATE, 날짜) <= CONVERT(DATE, 종료날짜)
위 첫 번째 방법은 단순 텍스트 날짜형식에 날짜타입으로 CONVERT하여 비교를 해주었다. 가장 기본적인 방법이고 이 외에도 다양하게 활용할 수 있으니 참고하길 바란다.
두 번째 방법
AND (CONVERT(int, 날짜)
BETWEEN REPLACE(시작날짜, '-', '') AND REPLACE(종료날짜, '-', ''))
두 번째 방법은 BETWEEN 문을 사용하여 비교하는 방법이다. 주로 많이 사용하는 방법이고 필자는 날짜형식으로 바꾸지않고 바로 비교하여 사용하였다. 첫 번째 방법과 동일하게 텍스트 날짜형식으로 받다보니 REPLACE 문을 사용하여 치환해주었다. 끝.
관련글 더 보기
2018/08/27 - [MSSQL] 데이터 형식 오류 (nvarchar > numeric)
2018/08/23 - [MSSQL] 날짜 변환 하기 (GETDATE, CONVERT)
2018/08/13 - [MSSQL] 카운트 시 NULL일 경우 0으로 출력시키는 방법 !
2018/08/13 - [MSSQL] LEFT, RIGHT 함수 사용방법은 ?
2018/08/02 - [MSSQL] net.sourceforge.jtds.jdbc.ClobImpl 해결방법
↓ 공감 을 눌러주시면 블로거에게 큰 힘이 됩니다 !
'공부 이야기' 카테고리의 다른 글
[MSSQL] 날짜 및 시간 차이 구하는 방법 (DATEDIFF 함수) (0) | 2018.08.28 |
---|---|
[SQL] ROW_NUMBER() 함수를 이용한 페이징 순번 매기는 방법 ! (0) | 2018.08.28 |
[JAVA] 자바란 무엇인가? 특징을 알아보자 ! (0) | 2018.08.27 |
[엑셀] 특정 셀로 다양하게 이동하는 방법 (0) | 2018.08.27 |
[SQL] 문자열 변환 오류 해결방법 (java.sql.SQLException) (0) | 2018.08.27 |