Tenho uma tabela com duas colunas. ID e VALOR. A coluna VALUE contém uma combinação de uma string de números de 1 a 45. EG:-
EU IA | VALOR |
---|---|
T123 | 1,6,7,9,17,22,43 |
T456 | 2,3,5,7,8,13,28,32,41 |
T789 | 1,2,4,5,6,7,9,11,15,23,34,42 |
Estou tentando relatar a coluna de valores para comparar com dados semelhantes de outra fonte, mas os números em meu soucre precisam ser alterados para que todos os números tenham dois dígitos. Portanto, qualquer número entre 1 e 9 começa com um zero, então: -
EU IA | VALOR |
---|---|
T123 | 01,06,07,09,17,22,43 |
T456 | 02,03,05,07,08,13,28,32,41 |
T789 | 01,02,04,05,06,07,09,11,15,23,34,42 |
Pensei em encontrar uma resposta quebrando a string, verificando o comprimento de cada número, adicionando um zero, se necessário, e depois construindo a string de volta. Mas não consegui descobrir como aplicar o loop a cada linha retornada.
Esses dados estão em um banco de dados SQL Server 2014 e não podem ser alterados na fonte. Eu me perguntei se, de alguma forma, alterar os dados e carregá-los em uma tabela temporária e selecionar os resultados de lá poderia funcionar, mas, novamente, não tenho certeza da melhor maneira de percorrer a string e adicionar um zero a qualquer número de um dígito.
Alguém poderia ajudar ou ter alguma sugestão?
Obrigado.
Você pode dividir a string e juntá-la novamente, mas trabalhando no SQL Server 2014, você está perdendo algumas funções úteis para ambas as partes. Posso apenas fazer algumas
REPLACE
funções aninhadas ( Fiddle ).