2014-04-03 67 views
0

我有一个非常简单的(我希望...)的问题: 我有一个nvarchar单元格的一些数字是:12345678,我会格式化它:12-345-678。但我无法找到正确的表达式... 在将它插入报表之前,我应该在TSQL中执行此操作吗? 我正在使用SSRS 2008SSRS - nvarchar自定义格式

你能帮我吗? 提前

萨科

回答

1

非常感谢您能在任何T-SQL或SSRS表达式做到这一点。

T-SQL:

declare @value nvarchar(8); 
select @value = '12345678'; 

select formattedValue = left(@value, 2) 
    + '-' + substring(@value, 3, 3) 
    + '-' + right(@value, 3); 

SSRS表达:

=Left(Fields!value.Value, 2) 
    & "-" & Mid(Fields!value.Value, 3, 3) 
    & "-" & Right(Fields!value.Value, 3) 

这假定为固定长度的文本。

这真的取决于你哪一个更好 - 我想一个考虑因素就是保持表示层的格式,即SSRS,所以这可能是我会走的路。但是没有任何事情阻止你使用这两种选择