Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia!
Estou com um problema em um software que dou suporte. Vou tentar ser o mais direto possível:
Tenho o seguinte dados numa tabela:
codigo Cliente
C01 XXXXX
C02 AAAAA
C03 ZZZZZ
C04 YYYYY
... ...
Preciso rodar um Script (SQL Server 2008 R2) que troque o codigo de TODOS os registros, retirando a primeira LETRA, ou seja:
codigo Cliente
01 XXXXX
02 AAAAA
03 ZZZZZ
04 YYYYY
... ...
Obs: pode retirar a letra, ou pode trocá-la por 0.
Espero ajuda de vocês! Obrigado!
Se eu quero trocar a primeira letra ficaria assim?:
SELECT SUBSTRING(codigo,1,2), Cliente from @valor
Ou seja, na tabela codigo, vai ser retirado do primeiro caracter e sobrar 2, ou seja:
de C01, vai sobrar 01,
se fosse, C0000001, seria SUBSTRING(codigo,1,7)?
No caso, começaria do 2 e não do 1.
Teste a sintaxe que lhe passei e verá melhor o resultado.
A.Jr
Ok, obrigado pela atenção!
Voce pode fazer por SUBSTRING.
Um exemplo:
declare @valor table (codigo varchar(3), Cliente varchar(max))insert into @valor (codigo, Cliente) values ('C01','XXXXX')insert into @valor (codigo, Cliente) values ('C02','AAAAAAA')insert into @valor (codigo, Cliente) values ('C03','ZZZZZZ')insert into @valor (codigo, Cliente) values ('C04','YYYYYYY') SELECT SUBSTRING(codigo,2,5), Cliente from @valor
O SUBSTRING tem 3 valores:
O primeiro (codigo) é o campo a ser retirado algum carácter;
O segundo (numero 2) é a partir dele que vai ser contado a quantidade de caracteres a ser retirado
O terceiro (numero 5) é quantos caracteres vão sobrar no campo.
Foi uma explicação básica. Tem "n" variações para se fazer isso.
[]´s e boa sorte