[firebase-br] Atualizar campo de uma tabela - Firebird 2.0.3

Vilmar Diogo vilmardiogo em mcisistemas.com.br
Qua Ago 28 16:00:26 -03 2013


Olá amigo, tente usar a função Replace() !

Não sei que outro caractere tem neste campo além dos números, mas você com
certeza sabe, veja exemplo abaixo, só substituir o conteúdo do segundo
parâmetro da função por outro ou outros.

Select NCM, Replace(NCM,'.','') as Novo from Est_Adicionais

No Update você pode usar assim:
Update Est_Adicionais Set NCM = Replace(NCM,'.','')

espero ter ajudado.



2013/8/28 Denis Dias <denisdias em sociativa.com.br>

> Olá Pessoal,
>
> Estou utilizando a sentença abaixo para retornar somente os números de um
> campo (NCM) de uma tabela, preciso implementá-la agora para atualizar
> (Update) o campo com essa consulta, mas estou encontrando dificuldades,
> alguém pode me ajudar?
> *Obs: utilizo o Firebird 2.0.3 e o IBmanager para executar a sentença.*
>
> SELECT
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  1 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  1 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  2 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  2 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  3 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  3 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  4 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  4 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  5 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  5 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  6 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  6 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  7 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  7 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  8 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  8 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM  9 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM  9 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM 10 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM 10 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM 11 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM 11 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM 12 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM 12 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM 13 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM 13 FOR 1) ELSE '' END ||
>    CASE WHEN SUBSTRING(EST_ADICIONAIS.ncm FROM 14 FOR 1) IN
> ('0','1','2','3','4','5','6','7','8','9') THEN SUBSTRING(EST_ADICIONAIS.ncm
> FROM 14 FOR 1) ELSE '' END
>
>    AS SO_NUMERO
>   FROM EST_ADICIONAIS
>
> --
> Att.
>
> *Equipe Sociativa*
> contato em sociativa.com.br
> *(32) 3367-1246
> (32) 8414-0553*
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Vilmar Diogo
MCI Sistemas
Analista Programador
69 9960-1483



Mais detalhes sobre a lista de discussão lista