当前位置:  开发笔记 > 编程语言 > 正文

如何在T-SQL中将int转换为零填充字符串?

如何解决《如何在T-SQL中将int转换为零填充字符串?》经验,为你挑选了4个好方法。

假设我有一个值为1的int.如何将该int转换为零填充字符串,例如00000001



1> Charles Bret..:
Declare @MyInt integer Set @MyInt = 123
Declare @StrLen TinyInt Set @StrLen = 8

Select Replace(Str(@MyInt, @StrLen), ' ' , '0')



2> Mitch Wheat..:

另一种方式是:

DECLARE @iVal int = 1
select REPLACE(STR(@iVal, 8, 0), ' ', '0')



3> gordy..:

从SQL Server 2012开始,您现在可以执行以下操作:

format(@int, '0000#')


我爱你gordy :)

4> RicardoBalda..:

这项工作对我来说:

SELECT RIGHT('000' + CAST(Table.Field AS VARCHAR(3)),3) FROM Table

...

我创建了这个用户功能

T-SQL代码:

CREATE FUNCTION CIntToChar(@intVal Int, @intLen Int) RETURNS nvarchar(24) AS BEGIN

IF @intlen > 24
   SET @intlen = 24

RETURN REPLICATE('0',@intLen-LEN(RTRIM(CONVERT(nvarchar(24),@intVal)))) 
    + CONVERT(nvarchar(24),@intVal) END

示例:

SELECT dbo.CIntToChar(867,6)AS COD_ID

OUTPUT

000867

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有