Oracle - Converter para inteiro resultado
de uma estrutura CASE para utilização no c#
A
seguir demonstrarei como converter uma string para inteiro (Int32 – c#)
utilizando o case dentro de um select.
--Correta (Neste caso, o valor que retornar no case, será
convertido para Number(5), ou seja Int32 em c#)
SELECT CAST(CASE WHEN 'campo_tabela' = 'campo_tabela' THEN '1' ELSE '2' END AS NUMBER(5)) AS ORIGEM
FROM dual;
A seguir demonstrarei o problema que
estava tendo ocorrendo na conversão utilizando o case.
--Incorreta (Neste caso, o cast estava sendo feito nos
valores dentro do case (1 e 2), e de forma implícita o case converte para
decimal).
SELECT CASE WHEN 'campo_tabela' = 'campo_tabela' THEN CAST('1' AS NUMBER(5)) ELSE CAST('2' AS NUMBER(5)) END AS ORIGEM
FROM dual;