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
Random Solutions  
 
programming4us programming4us