Cópia de dados de uma coluna via sql

28/05/2019

11

Quero copiar 9 posições de uma coluna com 10 caracteres para outra coluna com 9. Qual a sintaxe correta com o comando update do SQL?
Responder

Posts

Qual o banco de dados? substring pode te ajudar;
Responder

28/05/2019

Josafar Silva

Qual o banco de dados? substring pode te ajudar;

O BD é Firebird
Responder

28/05/2019

Renato Dias

select substring((nome do campo) from (posição inicial) for (tamanho)) from (nome da tabela)

posição inicial e tamanho tem que ser números inteiros
Responder

28/05/2019

Josafar Silva

select substring((nome do campo) from (posição inicial) for (tamanho)) from (nome da tabela)

posição inicial e tamanho tem que ser números inteiros


Caro Renato: desculpe minha falta de conhecimento. Nessa sintaxe eu consigo selecionar a quantidade de caracteres que eu quiser de determinada coluna (campo). Mas como usar isto num comando update do sql? Por exemplo: update (tabela) set (nome do campo que vai receber os caracteres) = ......

Ou seria o comando sugerido por você completado com outro comando para o campo que vai receber o substring? Como eu escrevi no tópico:

Quero copiar 9 posições de uma coluna com 10 caracteres para outra coluna com 9. Qual a sintaxe correta com o comando update do SQL
Responder

28/05/2019

Renato Dias

Josafar você vai usar da mesma forma que no exemplo do select. Substring é uma função. O update pode ser algo parecido com isso:
update (nome da tabela) set (nome do campo com 9 caracteres) = substring((nome do campo com 10 caracteres) from 1 to 9) where (escrever critério se houver)
Responder

28/05/2019

Renato Dias

desculpe, corrigindo o exemplo (escrevi "to" ao invés de "for"):
update (nome da tabela) set (nome do campo com 9 caracteres) = substring((nome do campo com 10 caracteres) from 1 for 9) where (escrever critério se houver)
Responder

update tabela set campodestino = left(campoorigem, tamanhodesejado) where condicao


Responder

29/05/2019

Josafar Silva


update tabela set campodestino = left(campoorigem, tamanhodesejado) where condicao



Caro Renato, abaixo a sintaxe que utilizei, com sua orientação, e que funcionou corretamente.

update tabcli set cep2 = substring((cepc) from (1) for (9));

Obrigado.
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira