Ver se uma string é numérica numa procedure

Firebird

29/10/2004

Gostaria de saber se existe uma maneira de determinar se determinada string é numérica sem precisar usar UDF. Eu tenho uma procedure que realiza operações diferentes dependendo do conteúdo de um campo ser totalmente numérico ou não. Eu atualmente uso uma UDF que eu mesmo criei (IsNumeric), mas gostaria de saber se há outro modo.


Gandalf.nho

Gandalf.nho

Curtidas 0

Respostas

Afarias

Afarias

29/10/2004

vc pode tratar a exceção, ex::


create procedure p1 (c varchar(5)) returns (i integer) as
begin
  i = cast(c as integer);
  when sqlcode -413 do
    i = 0;
end^



sqlcode -413 = erro de conversão!


T+


GOSTEI 0
Gandalf.nho

Gandalf.nho

29/10/2004

Valeu pela ajuda!


GOSTEI 0
Gandalf.nho

Gandalf.nho

29/10/2004

Só uma última pergunta: nos casos em que é possível fazer algo tanto via UDF como via procedure, existe diferença de performance entre as opções? Deve-se preferir qual opção?


GOSTEI 0
Afarias

Afarias

29/10/2004

|Deve-se preferir qual opção?

SPs

Teoricamente terão melhor performance, e *mais importante* não há o ´risco´ dos problemas de instabilidade e portabilidade das UDFs



T+


GOSTEI 0
POSTAR