【发布时间】:2017-01-18 03:29:03
【问题描述】:
无论实际数据的长度如何,我想总共格式化为 10 位数字,并用前导零填充。
示例实际数据为123456,那么我的结果将是0000123456。但是实际数据是动态长度的,这意味着我们不能一直猜测。
我可以在SSRS中实现吗?而不是在 SQL 中格式化?
【问题讨论】:
标签: reporting-services ssrs-2012
无论实际数据的长度如何,我想总共格式化为 10 位数字,并用前导零填充。
示例实际数据为123456,那么我的结果将是0000123456。但是实际数据是动态长度的,这意味着我们不能一直猜测。
我可以在SSRS中实现吗?而不是在 SQL 中格式化?
【问题讨论】:
标签: reporting-services ssrs-2012
可以通过多种方式获得前导零的动态填充。您可以直接在数据库本身中执行,然后在 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)
图片 -
【讨论】:
=First(Fields!...Value,"dataset") 这样的聚合呢?