아래와 같이 하니까 되는군요...-_-;;;
pyear >= substr(current_date-60,1,4)||substr(current_date-60,6,7)||substr(current_date-60,9,10)
and pyear <= substr(current_date,1,4)||substr(current_date,6,7)||substr(current_date,9,10)
음 간단...
=================================
불새여~ 님이 쓰신 글 :
: 안녕하세요?
: 불새1.5를 사용중입니다. 개발중인 프로그램의 콤퍼넌트가 2.0을 지원하지 않아서
: 어쩔 수 없이 1.5버전을 사용중인데요
:
: select * from CONTROL
: where pyear >= cast(extract(YEAR from current_date-60) as char(4)) || iif(extract(MONTH from current_date-60) <= 9, '0' || cast(extract(MONTH from current_date-60) as char(1)), cast(extract(MONTH from current_date-60) as char(2))) || iif(extract(day from current_date-60) <= 9, '0' || cast(extract(day from current_date-60) as char(1)), cast(extract(day from current_date-60) as char(2)))
: and
: pyear <= cast(extract(YEAR from current_date) as char(4)) || iif(extract(MONTH from current_date) <= 9, '0' || cast(extract(MONTH from current_date) as char(1)), cast(extract(MONTH from current_date) as char(2))) || iif(extract(day from current_date) <= 9, '0' || cast(extract(day from current_date) as char(1)), cast(extract(day from current_date) as char(2)))
:
: =========================================
: pyear 는 날짜가 '20061130' 이런 형식입니다.
: 현재의 날짜-60 일 부터 오늘까지의 데이타를 셀렉트하려고 합니다.
: 그런데 extrac로 날짜를 가져오면 1,2,3,....10,11,12, ~30 이런형식으로 나오므로 이걸 두자리 수 날짜(01,02,03 ....)로 바꾸어 주려고
: iif(extract(MONTH from current_date-60) <= 9, '0' || cast(extract(MONTH from current_date-60) as char(1)), cast(extract(MONTH from current_date-60) as char(2)))
: 를 사용하였습니다. 그런데 이 코드가 2.0에서 테스트 할땐 잘 되었는데
: 1.5에선
: Invalid token.
: Dynamic SQL Error.
: SQL error code = -104.
: Token unknown - line 5, char 112.
: <=.
: 에러를 띄웁니다. "<= " 기호가 문제라고 하는데 정말 알 수가 없네요...
: 어떻게 해야 해결을 할 수 있을 까요?
: 부득이하게 2.0버전은 사용할 수 없습니다. 오로지 1.5버전을 사용해야 합니다.
:
: 답변을 부탁드립니다.
|