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

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기