Ajuda com query SQL

4 respostas
RichardVaugh

Boa tarde,

bom, tenho uns registros no banco de dados e preciso retirar uma parte de um char de uma coluna de código, por exemplo, todo registro nessa coluna começa com LNH, preciso retirar 3 caracteres de cada registro nessa coluna e manter o resto do registro , então se tiver gravado um código LNHOSG permanece registrado somente OSG.
Os 3 primeiros caracteres que eu quero remover estão presentes em cada registro.

Alguém pode me ajudar ? Tenho conhecimento básico de sql, e como toda minha estrutura no banco está montada (e já tem registros) vai me poupar tempo de refazer se eu conseguir retirar somente esses 3 caracteres de cada registro.
Como eu não tenho idéia de como é essa query que altera o valor mantendo parte dele não sei por onde começar a pesquisa. Então se alguém me indicar algo pra pesquisar já ajuda.

Obrigado.

4 Respostas

rafaelglauber

Oi,

Se você diser qual o banco de dados via ajudar, pois cada produto tem implementações diferentes do SQL e esse tipo de função costuma variar a sintaxe, no oracle seria:

select substr(campo, 3, length(campo)) as sem_as_3_primeiras from tabela

RichardVaugh

Sim, isso seria no oracle e no mysql.
.
No caso desse Substring, como eu faria pra usar esse comando, recuperando os valores (como num select) e fazendo update ao mesmo tempo ?
seria algo (claro que não existe) assim ?

update tabela set coluna = ( select …) ?

rafaelglauber

Oi,

Para você atualizar todos os registros da tabela removendo as três primeiras letras seria assim;

não precisa fazer uma subquery para essa finalidade.

RichardVaugh

Muito obrigado pela ajuda Rafael.

Criado 30 de julho de 2008
Ultima resposta 30 de jul. de 2008
Respostas 4
Participantes 2