728x90
날짜 검색시에만 해당.
2013년1월1일부터 2013년1월28일까지 검색하는 경우,
dt '2013-01-01' BETWEEN '2013-01-28'과 같이 검색하는 경우가 있는데,
MS-SQL은 우항인 2013-01-28까지 포함한 범위를 검색한다.
반면, mysql은 우항이 제외된 2013-01-27까지 검색을 하게 되는데,
이는 '2013-01-28'이 '2013-01-28 00:00:00' 로 간주되어, 날짜 분계선이므로 포함되지 않는다고 한다.
dt>='2013-01-01' AND dt<='2013-01-28' 과 같이 검색하거나,
CAST(dt AS DATE) BETWEEN '2013-01-01' AND '2013-01-28' 과 같이 검색하면 해결 된다고 한다.
(단, mysql 4.x 이하에서의 CAST()는 데이터 타입은 변경하나 값은 변하지 않는다고 한다.)
출처 : http://stackoverflow.com/questions/5080824/mysql-between-clause-not-inclusive
'내가 자꾸 까먹어서 쓰는 개발 이야기 > MySQL, MariaDB' 카테고리의 다른 글
Trigger 사용하기 (0) | 2014.09.19 |
---|---|
특정 프로시저 실행 권한 주기 (0) | 2013.11.22 |
mysql에서 정규식 사용하기 (0) | 2013.08.08 |
mysql의 CASE ~ WHEN ~ ELSE (1) | 2013.05.16 |
mysqldump 테이블 선택적으로 덤프 뜨기 (0) | 2012.02.01 |
최근댓글