이거 해결좀..- _-;;; 정보
이거 해결좀..- _-;;;본문
안녕하세요. 지은아빠입니다. 도무지 답이 안나와서 도움 구합니다. - - -;;
start_month의 값들 1~ 12
end_month의 값들 1~12
select * from xxx where start_month <= $month and end_month >= $month;
저 셀렉트 구문은 이를테면 start_month가 11월이고 end_month가 다음 해 1월이라면 값을 구하고자 할 때는 값이 안나오는데요.
어떻게 하면 될까요?
댓글 전체
음.. end_month를 체크할려면 입력된 월보다 작은 값을 찾도록 해야할듯
end_month <= $month
select * from xxx where start_month >= $month and end_month <= $month;
아 그리고
위의 구조는 년도를 체크하는것이 없으므로 올해의 1월도 조회될겁니다 ^^
end_month <= $month
select * from xxx where start_month >= $month and end_month <= $month;
아 그리고
위의 구조는 년도를 체크하는것이 없으므로 올해의 1월도 조회될겁니다 ^^
root님 답변 감사합니다. 미처 질문에 포함하지 못했는데요..
음.. 예를 들어서 현재 7월이면 3월~8월에 해당 하는 값도 같이 구하려고 하거든요.
음.. 예를 들어서 현재 7월이면 3월~8월에 해당 하는 값도 같이 구하려고 하거든요.
한해에 끝나는것인지 한해를 넘기는 것인지에 대한 체크나...
작업 시작년도와 작업 종료년도의 추가가 있어야 원하시는 답변이 시원하게 나올것으로 생각됩니다 ^^
작업 시작년도와 작업 종료년도의 추가가 있어야 원하시는 답변이 시원하게 나올것으로 생각됩니다 ^^
아.. 현재상태로는 힘들다는 것이죵? ㅠㅠ
select * from xxx where start_month <= $month and end_month >= $month;
해가 바뀌는데 월 정보만 준다는 것이 모순아닌가요?
start_month, end_month를 date 타입으로 바꾸면 어떨까요?
해가 바뀌는데 월 정보만 준다는 것이 모순아닌가요?
start_month, end_month를 date 타입으로 바꾸면 어떨까요?
select * from xxx where start_month <= $month and end_month >= $month;
==>
select * from xxx where if( end_month > start_month, $month, $month+12) $month between start_month and if( end_month > start_month, end_month, end_month+12)
query 성능은 떨어 집니다.
==>
select * from xxx where if( end_month > start_month, $month, $month+12) $month between start_month and if( end_month > start_month, end_month, end_month+12)
query 성능은 떨어 집니다.
기간이 12개월 이상을 안 된다는 단점이 있죠.
rolo 님 말씀처럼..
php는 7월에서 1월까지하면..;;
만약 된다하더라두.. 2006년 7월에서 언제 1월까지인지를 모릅니다. -0-
무한루프의 함정이죠..;;
sql에 1년치 데이터만 존재한다면 rolo님 말씀처럼 하심 되구요.
그렇지 않다면.. year필드를 추가하심이 좋을듯하네요.
적절한 답변이 못되어 죄송합니다만.. 혹시나 우려되서 한마디 남깁니다. (__)
php는 7월에서 1월까지하면..;;
만약 된다하더라두.. 2006년 7월에서 언제 1월까지인지를 모릅니다. -0-
무한루프의 함정이죠..;;
sql에 1년치 데이터만 존재한다면 rolo님 말씀처럼 하심 되구요.
그렇지 않다면.. year필드를 추가하심이 좋을듯하네요.
적절한 답변이 못되어 죄송합니다만.. 혹시나 우려되서 한마디 남깁니다. (__)