Usuário com melhor resposta
Comcatenando, convertendo e formatando campos

Pergunta
-
Como eu faço para que na expressao abaixo para que o caso do valor de num_Alimentador tiver apenas um dígito, que seja acrescentado um '0' a esquerda do mesmo
Code SnippetSELECT cod_SE + CONVERT(VARCHAR(3), num_Alimentador) AS Alimentador
FROM T_Interrupcoes
GROUP BY cod_SE + CONVERT(VARCHAR(3), num_Alimentador)
ORDER BY Alimentador
Respostas
-
Boa Noite,
Acho mais interessante realizar essa conversão na aplicação e não no SQL Server. Não é interessante gastar recursos de banco de dados que poderiam fazer uma query ficar mais rápida para formatar uma consulta que uma aplicação poderia fazer melhor e mais eficiente. Em todo o caso, segue a opção:
Code SnippetSELECT
cod_SE + RIGHT(('00' + CONVERT(VARCHAR(3), num_Alimentador)),3) AS AlimentadorFROM
T_InterrupcoesGROUP
BY cod_SE + RIGHT(('00' + CONVERT(VARCHAR(3), num_Alimentador)),3)ORDER
BY AlimentadorAcho que você poderia fazer algumas alterações
Code SnippetSELECT
DISTINCT cod_SE + RIGHT(('00' + CONVERT(VARCHAR(3), num_Alimentador)),3) AS AlimentadorFROM
T_InterrupcoesORDER
BY Alimentador[ ]s,
Gustavo
-
Todas as Respostas
-
Boa Noite,
Acho mais interessante realizar essa conversão na aplicação e não no SQL Server. Não é interessante gastar recursos de banco de dados que poderiam fazer uma query ficar mais rápida para formatar uma consulta que uma aplicação poderia fazer melhor e mais eficiente. Em todo o caso, segue a opção:
Code SnippetSELECT
cod_SE + RIGHT(('00' + CONVERT(VARCHAR(3), num_Alimentador)),3) AS AlimentadorFROM
T_InterrupcoesGROUP
BY cod_SE + RIGHT(('00' + CONVERT(VARCHAR(3), num_Alimentador)),3)ORDER
BY AlimentadorAcho que você poderia fazer algumas alterações
Code SnippetSELECT
DISTINCT cod_SE + RIGHT(('00' + CONVERT(VARCHAR(3), num_Alimentador)),3) AS AlimentadorFROM
T_InterrupcoesORDER
BY Alimentador[ ]s,
Gustavo
-
Gustavo
Vou seguir o seu conselho. mas no seu exemplo, os digitos a esquerda do último a direita, quando existirem serão substituídos por '00', o que modifica os dados do registro.
Se 351 retorna 001, não é o que eu quero.
O que eu quero é que quando o registro for formado por apenas um dígito, seja colocado a esquerda dele um zero.
Exemplo: 1 retorna 01
23 retorna 23
437 retorna 437
Obrigado.
-
-