我想格式化为10位数,无论实际数据的长度如何,都填充前导零。
示例实际数据为123456
,然后我的结果为0000123456
。但实际数据具有动态长度,这意味着我们无法一直猜测。
我可以在SSRS中实现吗?而不是在SQL中格式化?
答案 0 :(得分:5)
答案 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)
图片 -