Эффективный алгоритм в t-sql для имитации int.ToString ("D4"); - PullRequest
1 голос
/ 04 февраля 2010
int i=99;
string s=i.ToString("D4");
//s=="0099"

Пожалуйста, дайте совет относительно эффективной реализации предыдущих нулей чисел в текстовом формате.

Ответы [ 2 ]

3 голосов
/ 04 февраля 2010

обычно я делаю что-то вроде:

RIGHT('0000' + [col], 4)
0 голосов
/ 04 февраля 2010

Вы можете использовать функцию, определенную ниже

select dbo.fsPadLeft (@ i, '0', 4)

или встроенное выражение Выберите replicate (x, 4-Len (x)) + x от 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
...