디비에 년도 필드가 있고 월 필드가 있습니다. 텍스트형태로
이넘을 2000년 01월 부터 2001년 01월 까지를 셀렉트 하려 합니다.
sql.add('where((ga_year >= :P_year) and (ga_mnth >= :P_stmm))');
sql.add(' and((ga_year <= :P_year1) and (ga_mnth <= :P_tomm))');
parambyname('P_year').asstring := year.text;
parambyname('P_year1').asstring := year1.text;
parambyname('P_stmm').asstring := stmm.text;
parambyname('P_tomm').asstring := tomm.text;
이렇게 하니 2000.01부터 2000.12월 까지는 잘 되는데 (1237건 Select)
2000.01부터 2001.01월 까지는 않돼요 ( 187건 Select)
어떻게 바꾸어 주어야 제대로 셀렉트가 될까요?.. 으 창피...
> sql.add(' and((ga_year <= :P_year1) and (ga_mnth <= :P_tomm))');
> parambyname('P_year').asstring := year.text;
> parambyname('P_year1').asstring := year1.text;
> parambyname('P_stmm').asstring := stmm.text;
> parambyname('P_tomm').asstring := tomm.text;
>
> 이렇게 하니 2000.01부터 2000.12월 까지는 잘 되는데 (1237건 Select)
> 2000.01부터 2001.01월 까지는 않돼요 ( 187건 Select)
>
> 어떻게 바꾸어 주어야 제대로 셀렉트가 될까요?.. 으 창피...
제생각엔 년도와 날짜필드를 붙여서 해보는게 어떨지 생각이 듭니다.
아래 코딩은 정확하지는 않지만 예를들어
where between (ga_year + ga_month) and (ga_year + ga_month) 이런식이지요.
betwwen은 sql 함수입니다. 응용하시면 될듯합니다. 파라미터는 물론 에디트 년도와 월
을 잘 붙여서 변수로 하시던지 천천히 해보시면 금방 아실겁니다.
도움이 되셨으면 합니다.