오라클 디비에 필드가 ayear 그리고 amnth 이렇게 년과 월이 있습니다
각 필드에는 '2000' 그리고 '01' 이렇게 년,월이 텍스트형으로 입력 되어 있습니다.
이것을 2000년 01 ~ 2001년 01월 까지 Select 하는데요...
sql.add('select * from Selectdb');
sql.add('where((a_year >= :P_year) and (a_mnth >= :P_stmm))');
sql.add(' and((a_year <= :P_year1) and (a_mnth <= :P_tomm))');
parambyname('P_year').asstring := year;
parambyname('P_year1').asstring := year1;
parambyname('P_stmm').asstring := stmm;
parambyname('P_tomm').asstring := tomm;
이렇게 하면 2000.01~ 2000.12하면 잘 되는데 2000.01 ~ 2001.01 하면 각년도의 01월
데이타만 불러옵니다.
어떤 님이 Between을 써보라고 하셨어요 그래서
sql.add('where ((a_year + a_mnth) between :p_stym and :p_enym)');
parambyname('P_stym').asstring := year+stmm;
parambyname('P_enym').asstring := year1+tomm
이렇게 하니 데이타가 없다고... 조건에 맞질 않습니다.
또다르게
sql.add('where((a_year + a_mnth) >= :P_stmm) and ((a_year +a_mnth= :P_tomm)');
parambyname('P_stmm').asstring := year + stmm;
parambyname('P_tomm').asstring := year + tomm;
이것 역시 데이타가 없다고... 조건에 맞질 않습니다.
고수님들 어떻게 해야 하나요 Where절을 어떻게 해야 2년여에 걸친 데이타를
정확히 불러 올수 있나요? 하수머리로 곰곰히 생각해도 영 않됩니다.
parambyname('P_year').asstring := year;
parambyname('P_year1').asstring := year1;
parambyname('P_stmm').asstring := stmm;
parambyname('P_tomm').asstring := tomm;
이렇게 하면 안나올까요?
초보 wrote:
> 오라클 디비에 필드가 ayear 그리고 amnth 이렇게 년과 월이 있습니다
> 각 필드에는 '2000' 그리고 '01' 이렇게 년,월이 텍스트형으로 입력 되어 있습니다.
> 이것을 2000년 01 ~ 2001년 01월 까지 Select 하는데요...
>
> sql.add('select * from Selectdb');
> sql.add('where((a_year >= :P_year) and (a_mnth >= :P_stmm))');
> sql.add(' and((a_year <= :P_year1) and (a_mnth <= :P_tomm))');
> parambyname('P_year').asstring := year;
> parambyname('P_year1').asstring := year1;
> parambyname('P_stmm').asstring := stmm;
> parambyname('P_tomm').asstring := tomm;
>
> 이렇게 하면 2000.01~ 2000.12하면 잘 되는데 2000.01 ~ 2001.01 하면 각년도의 01월
> 데이타만 불러옵니다.
> 어떤 님이 Between을 써보라고 하셨어요 그래서
>
> sql.add('where ((a_year + a_mnth) between :p_stym and :p_enym)');
> parambyname('P_stym').asstring := year+stmm;
> parambyname('P_enym').asstring := year1+tomm
> 이렇게 하니 데이타가 없다고... 조건에 맞질 않습니다.
>
> 또다르게
> sql.add('where((a_year + a_mnth) >= :P_stmm) and ((a_year +a_mnth= :P_tomm)');
> parambyname('P_stmm').asstring := year + stmm;
> parambyname('P_tomm').asstring := year + tomm;
> 이것 역시 데이타가 없다고... 조건에 맞질 않습니다.
>
> 고수님들 어떻게 해야 하나요 Where절을 어떻게 해야 2년여에 걸친 데이타를
> 정확히 불러 올수 있나요? 하수머리로 곰곰히 생각해도 영 않됩니다.