CAIO.EXE Postado Setembro 29, 2008 Denunciar Share Postado Setembro 29, 2008 Boa tarde senhores,me deparei com o seguinte problema....tenho uma coluna com n resultados separados por ','preciso separa-los...por exemplo...tem o seguinte valor em uma coluna:'003,004,005'preciso que me retorne:'003','004','005'já tentei usar o replace e trocar a virgula por char(39) + ',' + char(39)mas nada feito....alguma dica?grato. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jothaz Postado Setembro 29, 2008 Denunciar Share Postado Setembro 29, 2008 (editado) DECLARE @VALOR_COMPLETO VARCHAR(200), @VALOR_SEPARADO VARCHAR(200), @RESULTADO VARCHAR(200), @DELIMITADOR VARCHAR(1) --ESTOU DEFININDO VALOR FIXO DEPOIS ALTERE PARA A COLUNA QUE QUEIRA SET @VALOR_COMPLETO = '003,004,005' --DEFINE QUE VAI SER O DELIMITADOR SET @DELIMITADOR = ',' --CONCATENA O @DELIMITADOR NO FINAL DE DAS VARIÁVEIS LOCAIS IF LEN(@VALOR_COMPLETO) > 0 SET @VALOR_COMPLETO = @VALOR_COMPLETO + @DELIMITADOR set @RESULTADO = '' --INICIA LOOP PARA EXTRAIR @VALOR PARA EFETUAR A ATUALZIAÇÃO WHILE LEN(RTRIM(LTRIM(@VALOR_COMPLETO))) > 0 BEGIN --PARA VARIAVEIS LOCAIS SELECT @VALOR_SEPARADO = SUBSTRING(@VALOR_COMPLETO, 1, CHARINDEX(@DELIMITADOR, @VALOR_COMPLETO) - 1) IF (@RESULTADO = '') BEGIN SET @RESULTADO = @RESULTADO + '''' + @VALOR_SEPARADO + '''' END ELSE BEGIN SET @RESULTADO = @RESULTADO + ',' + '''' + @VALOR_SEPARADO + '''' END --RETIRA LOCALIZA E EXTRAI O @VALOR_COMPLETO SELECT @VALOR_COMPLETO= SUBSTRING(@VALOR_COMPLETO, CHARINDEX(@DELIMITADOR, @VALOR_COMPLETO) + 1, LEN(@VALOR_COMPLETO)) END print @RESULTADO Editado Setembro 30, 2008 por jothaz Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
CAIO.EXE
Boa tarde senhores,
me deparei com o seguinte problema....
tenho uma coluna com n resultados separados por ','
preciso separa-los...
por exemplo...
tem o seguinte valor em uma coluna:
'003,004,005'
preciso que me retorne:
'003','004','005'
já tentei usar o replace e trocar a virgula por char(39) + ',' + char(39)
mas nada feito....
alguma dica?
grato.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.