Algoritmo eficiente em T-SQL para imitar a Int.ToString ("D4");
-
18-09-2019 - |
Pergunta
int i=99;
string s=i.ToString("D4");
//s=="0099"
Aconselhe -se sobre a implementação eficiente dos zeros anteriores de números em formato textual.
Solução
Normalmente eu gosto:
RIGHT('0000' + [col], 4)
Outras dicas
Você pode usar a função definida abaixo
Selecione DBO.fspadleft (@i, '0', 4)
ou instrução embutida Selecione replicar (x, 4-len (x))+x de y
Create Function [dbo].[fsPadLeft](@var varchar(200),@padChar char(1)='0',@len int)
returns varchar(300)
as
Begin
return replicate(@PadChar,@len-Len(@var))+@var
end
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow