안녕하세요..지금 제가 informix를 사용하고 있습니다
제가 decode함수를 사용해서
10만원이하의 건수, 10만원이상 100만원이하의 건수,100만원이상의 건수를 구하고자 합니다
어떤 조건식을 사용해야할지 모르겠습니다..
sign같은 경우 인포믹스에는 함수가 없구요..
case를 사용 하면..총 건수를 구할수가 없구요..
좋은 방법 없을까요?
부탁드립니다..
제 방법입니다. sign 을 직접 만드세요 *^^*
create procedure
"informix".sign(n_num dec(20,0)) returning int ;
begin
if n_num > 0 then
return 1;
elif n_num < 0 then
return -1;
else
return 0;
end if
end
end procedure
DOCUMENT "숫자 비교 Function. 음/양/0 => Return 1/-1/0."
create table tmp_test ( a int );
insert into tmp_test values ( 201 );
insert into tmp_test values ( 100123 );
insert into tmp_test values ( 100198 );
insert into tmp_test values ( 1000100 );
insert into tmp_test values ( 1000102 );
insert into tmp_test values ( 1000104 );
select
sum (decode(round(log10(a)), 1,1, 2,1, 3,1, 4,1, 0)) g1 ,
sum (decode(round(log10(a)), 5,1, 0)) g2,
sum (decode(round(log10(a)), 1,0, 2,0, 3,0, 4,0, 5,0, 1)) g3
from
tmp_test
;
g1 g2 g3
1 2 3