Fórum Função para retornar a quantidade de caracteres #60877

19/09/2009

0

Boa tarde,
pessoal sou meio que noato no assunto, preciso de uma função em firebird que me retorne a quantidade de carcteres de um campo do tipo integer, exemplo, tenho o campo sequencia com valor 235, conclui-se que o numero tem 3 caracteres, já me passaram a função char_length, mas só que quando eu uso a mesma dá o seguinte erro:
´An error was found in the application program input parameters for the SQL statement.
Dynamic SQL Error.
SQL error code = -804.
Function unknown.
CHAR_LENGTH.´
Alqguém do grupo sabe se essa é a função mesmo que usa, ou se tem outra função, ou até mesmo se euestou isando a mesma de forma certa?
Aguadro respostas


Juliaotbjr

Juliaotbjr

Responder

Posts

20/09/2009

Afarias

preciso de uma função em firebird que me retorne a quantidade de carcteres de um campo do tipo integer, exemplo, tenho o campo sequencia com valor 235, conclui-se que o numero tem 3 caracteres


Não. Um NÚMERO não tem caracteres.

É necessário converter o número para sua representação ´string´ para isso (o q é feito automaticamente pelo FB em diversas ocasiões)


Alqguém do grupo sabe se essa é a função mesmo que usa, ou se tem outra função, ou até mesmo se euestou isando a mesma de forma certa?


Pela mensagem de erro apresentada, a função não existe. CHAR_LENGTH surgiu como função interna apenas no FB 2.1

Assim, caso esteja usando uma versão anterior do FB, é necessário que vc registre uma UDF. A biblioteca padrão IB_UDF (veja sua pasta udf) tem uma função chamada [b:1711025857]strlen[/b:1711025857] que vc pode usar (veja o comando de registro no arquivo IB_UDF.SQL)



T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar