본문 바로가기

프로그램 경험/Database

[SqlServer] DateTime 필드 조회시 주의점

SELECT

*

FROM 

TB_TEST

WHERE 

CreateDate BETWEEN '2012-01-01' AND '2012-03-31' ;


이렇게 조회 조건절을 거는 경우가 가끔 있는데 이렇게 하면 잘 되는것 같이 보이지만 자세히 데이터를 확인해 보면

2012-03-31 일자 데이터가 빠져서 조회 된다.


아래와 같이 하면 빠지지 않고 모든 데이터 조회가 된다.


SELECT

*

FROM 

TB_TEST

WHERE 

CONVERT(VARCHAR,  CreateDate , 112) BETWEEN '20120101' AND '20120331' ;