Cópia de dados de uma coluna via sql
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?
Josafar Silva
Curtidas 0
Respostas
Fabiano Carvalho
28/05/2019
Qual o banco de dados? substring pode te ajudar;
GOSTEI 0
Josafar Silva
28/05/2019
Qual o banco de dados? substring pode te ajudar;
O BD é Firebird
GOSTEI 0
Renato Dias
28/05/2019
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
posição inicial e tamanho tem que ser números inteiros
GOSTEI 0
Josafar Silva
28/05/2019
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
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
GOSTEI 0
Renato Dias
28/05/2019
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)
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)
GOSTEI 0
Renato Dias
28/05/2019
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)
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)
GOSTEI 0
Emerson Nascimento
28/05/2019
update tabela set campodestino = left(campoorigem, tamanhodesejado) where condicao
GOSTEI 0
Josafar Silva
28/05/2019
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.
GOSTEI 0