특정 범위에 대한 특정 기간이 포함되었는지 확인하고자 합니다.
CREATE TABLE `T_date` (
`N_UID` int(11) unsigned NOT NULL AUTO_INCREMENT,
`D_START` varchar(20) DEFAULT NULL,
`D_END` varchar(20) DEFAULT NULL,
PRIMARY KEY (`N_UID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
DATA
N_UID D_START D_END
1 2014-01-01 2014-01-05
2 2014-01-07 2014-01-10
3 2014-01-13 2014-01-20
검색 조건
특정 범위 : 2014-01-03 ~ 2014-01-08 의 범위가 D_START와 D_END 사이에 포함되는지 확인코자 합니다.
원하는 결과 값 1 : true 또는 false
원하는 결과 값2 : 포함되는 일자
예) 2014-01-03, 2014-01-04, 2014-01-07, 2014-01-08 이며
2014-01-06은 포함하지 않아야 합니다.
강제적으로 특정 범위에 포함하는 날짜를 구해서 하는 방법외 다른 방법이 있는지요?
SELECT *
FROM t_date
WHERE (
'2014-01-03' BETWEEN D_START AND D_END OR
'2014-01-04' BETWEEN D_START AND D_END OR
'2014-01-05' BETWEEN D_START AND D_END OR
'2014-01-06' BETWEEN D_START AND D_END OR
'2014-01-07' BETWEEN D_START AND D_END OR
'2014-01-08' BETWEEN D_START AND D_END
) |