|
|
Question : Count(Decode)
|
|
I am using Informix 7.2, when i am trying query using count(decode(character column,,). i am getting error. while i do the same in Oracle it works fine. can anyone help me to solve.
regards, Naidu KL.
|
Answer : Count(Decode)
|
|
Hi!
decode dosen't exsist in informix, but oyu can create your own.
create procedure decode(basis varchar (255), case1 varchar (255), retn1 varchar (255), case2 varchar (255) default null, retn2 varchar (255) default null, case3 varchar (255) default null, retn3 varchar (255) default null, case4 varchar (255) default null, retn4 varchar (255) default null, case5 varchar (255) default null, retn5 varchar (255) default null, case6 varchar (255) default null, retn6 varchar (255) default null, case7 varchar (255) default null, retn7 varchar (255) default null, case8 varchar (255) default null, retn8 varchar (255) default null, case9 varchar (255) default null, retn9 varchar (255) default null, deflt varchar (255) default null) returning varchar (255);
if basis = case1 then return retn1; end if;
if case2 is null then { no default value available. } return null; else if retn2 is null then { case2 is default value.} return case2; else { matching pattern found. } if basis = case2 then return retn2; end if; end if; end if;
if case3 is null then { no default value available. } return null; else if retn3 is null then { case3 is default value.} return case3; else { matching pattern found. } if basis = case3 then return retn3; end if; end if; end if;
if case4 is null then { no default value available. } return null; else if retn4 is null then { case4 is default value.} return case4; else { matching pattern found. } if basis = case4 then return retn4; end if; end if; end if;
if case5 is null then { no default value available. } return null; else if retn5 is null then { case5 is default value.} return case5; else { matching pattern found. } if basis = case5 then return retn5; end if; end if; end if;
if case6 is null then { no default value available. } return null; else if retn6 is null then { case6 is default value.} return case6; else { matching pattern found. } if basis = case6 then return retn6; end if; end if; end if;
if case7 is null then { no default value available. } return null; else if retn7 is null then { case7 is default value.} return case7; else { matching pattern found. } if basis = case7 then return retn7; end if; end if; end if;
if case8 is null then { no default value available. } return null; else if retn8 is null then { case8 is default value.} return case8; else { matching pattern found. } if basis = case8 then return retn8; end if; end if; end if;
if case9 is null then { no default value available. } return null; else if retn9 is null then { case9 is default value.} return case9; else { matching pattern found. } if basis = case9 then return retn9; end if; end if; end if; if deflt is null then return null; end if;
return deflt;
end procedure;
If you want more of this go here: http://database.sarang.net/database/informix/SQL/SQLFunctionList.doc
Regards /Hans - Erik Skyttberg
|
|
|
|
|