1
int i=99;
string s=i.ToString("D4");
//s=="0099"
請以有效的方式實現文本格式的前幾位數字。t-sql中的高效算法模仿int.ToString(「D4」);
int i=99;
string s=i.ToString("D4");
//s=="0099"
請以有效的方式實現文本格式的前幾位數字。t-sql中的高效算法模仿int.ToString(「D4」);
通常我做某事喜歡:
RIGHT('0000' + [col], 4)
你可以使用下面
定義的funcion選擇dbo.fsPadLeft(@我, '0',4)
或在線聲明 從y選擇重複(x,4-Len(x))+ x
Create Function [dbo].[fsPadLeft](@var varchar(200),@padChar char(1)='0',@len int)
returns varchar(300)
as
Begin
return replicate(@PadChar,@len-Len(@var))[email protected]
end
不是說它不能完成,而是你確定你必須在數據庫中格式化數據? SQL Server優化來管理數據,而不是格式化它。 – 2010-02-04 14:24:08
當我將邏輯從我的域移動到db時,這是很少見的情況之一,因爲在我的域中執行該操作將需要ado.net事務和幾個db請求才能正確生成該數字。犧牲性能的純度。 – Valentin 2010-02-04 14:29:02