使用前导零在SSRS中格式化整数

时间:2017-01-18 03:29:04

标签: reporting-services ssrs-2012

我想格式化为10位数,无论实际数据的长度如何,都填充前导零。 示例实际数据为123456,然后我的结果为0000123456。但实际数据具有动态长度,这意味着我们无法一直猜测。 我可以在SSRS中实现吗?而不是在SQL中格式化?

2 个答案:

答案 0 :(得分:5)

在报告中,将字段设置为与要显示的数字一样多的零。 例如,对于10位数,格式代码应为“0000000000”

enter image description here

enter image description here

答案 1 :(得分:1)

可以通过多种方式获得前导零的动态填充。您可以直接在数据库中执行,然后在RS中显示相同的内容或从DB获取原始数据,然后在RS中执行填充。作为参考,我已经展示了两种方式。

RS中使用的样本数据 -

declare @t table(i varchar(10))
insert into @t values (1),(12),(123),(1234),(12345),(123456),(1234567),(12345678),(123456789),(1234567890)
select i,RIGHT('0000000000'+ISNULL(i,''),10) 'ipadded' from @t

RS中用于填充的表达式 -

=Right("0000000000" & Fields!i.Value.ToString, 10)

图片 -

Output Expression in RS Sample data