Re: [firebase-br] Funções para de String
Ubirajara Nogueira
usnogueira em gmail.com
Qui Ago 2 08:16:03 -03 2007
Existe uma UDF que vem junto com FB desde a versão 1.0, não sei se com
o 2.0também vem. É a SUBSTRLEN que tem a função de retornar o tamanho
máximo de
uma string. A DLL ib_udf.dll deve estar presente no diretório UDF do
Firebird. Daí é só registrá-la. Veja:
/*****************************************
*
* s u b s t r l e n
*
*****************************************
*
* Functional description:
* substr(s,i,l) returns the substring
* of s which starts at position i and
* ends at position i+l-1, being l the length.
* Note: This function is NOT limited to
* receiving and returning only 255 characters,
* rather, it can use as long as 32767
* characters which is the limit on an
* INTERBASE character string.
*
*****************************************/
DECLARE EXTERNAL FUNCTION substrlen
CSTRING(255), SMALLINT, SMALLINT
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'IB_UDF_substrlen' MODULE_NAME 'ib_udf';
--
Ubirajara Nogueira
Analista de Sistemas
Petrolina - PE
Em 01/08/07, Leandro Victor Fidelis <leandro em isiengenharia.com.br> escreveu:
>
> Galera,
>
> Preciso fazer um update em uns campos que terminam em um mesmo padrão.
> Por exemplo: abcFIM, ttttFIM, hhlopeFIM. Eu queria fazer um update para
> tirar o fim deixando os valores dessa forma: abc, tttt, hhlope.
>
> Eu pensei em duas soluções:
>
> 1) Fazer um update do campo para um substring do campo. Neste caso eu
> precisaria saber o FROM e o FOR. Como os campos tem tamanhos diferentes e eu
> não conheço nenhuma função que me retorne o tamanho do campo, descartei essa
> hipotese.
>
> 2) Inverter o valor do campo e ai sim usar um substring porque eu sei
> que vai ser "from 3 for ValorMaximoCampo". Mas eu também não conheço nenhuma
> função que inverta string no firebird. (ex: Leandro = ordnaeL)
>
>
> Se alguem souber das funções que faltam nas soluções acima ou pensar em
> alguma outra solução me ajude por favor. Eu uso o Firebird 2.0
>
> Obrigado,
>
> Leandro Victor Fidelis
> ISI Engenharia - P&D Campinas
> www.isiengenharia.com.br
> (19)32366656 / (19)32345311
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista