dificuldades diversas

Firebird

01/08/2003

Caros colegas:

Tenho um campo1 VarChar e estou precisando eliminar um caracter:
Exemplo:
1234-90 - estou precisando eliminar o (-), como posso fazer isso;

e depois preciso converter este campo1 de VarChar para Integer,
e depois mover os dois ultimos digitos para um outro campo2 e restante mover para o campo3.

Como devo proceder para executar isso.

Atenciosamente


Osmar Scobin
Dracena - SP
:(


Scobin

Scobin

Curtidas 0

Respostas

Afarias

Afarias

01/08/2003

Uma UDF (específica, feita por vc) faria bem o serviço, entretanto, segue outras sugestões:

1º registre a UDF padrão do IB:

DECLARE EXTERNAL FUNCTION substr
CSTRING(80), SMALLINT, SMALLINT
RETURNS CSTRING(80) FREE_IT
ENTRY_POINT ´IB_UDF_substr´ MODULE_NAME ´ib_udf´;


|Tenho um campo1 VarChar e estou precisando eliminar um caracter:
|1234-90 - estou precisando eliminar o (-), como posso fazer isso;

select substr(campo1, 1, 4)||substr(campo1, 6, 7) from tabela;


|e depois preciso converter este campo1 de VarChar para Integer,

select cast(substr(campo1, 1, 4)||substr(campo1, 6, 7) as integer) from tabela;


|e depois mover os dois ultimos digitos para um outro campo2

update tabela set campo2 = substr(campo1, 6, 7);


|e restante mover para o campo3.

update tabela set campo3 = substr(campo1, 1, 4);


Observe q estas soluções funcionam apenas se seus valores do campo1 possuirem um formato FIXO igual (xxxx-xx).


T+


GOSTEI 0
POSTAR