0

我正在使用 SQL Server BIDS(商业智能开发工作室,VS2008)编写报告,并且我需要从字段值中删除标点符号。

例如,如果字段值为“Hello, World!”,我希望报告将值显示为“Hello World”。我知道在这个例子中使用 Replace 函数很容易,嵌套:

=Replace(Replace(Fields!Description.Value,",",""),"!","")

但是,如果我必须删除的不仅仅是“,”和“!”,这很快就会变得“丑陋”。人物。所以,简而言之:

我可以使用正则表达式来格式化 SQL Server BIDS 报告中的字段值吗?

如果答案是“不”,那很好,这样我就不用浪费时间去寻找它了!谢谢。

更新

表达式公式中正则表达式的使用(尽管这个是用于电话号码的):

=System.Text.RegularExpressions.Regex.Replace(Fields!Phone.Value, "(\d{3})[ -.]*(\d{3})[ -.]*(\d{4})", "($1) $2-$3")
4

1 回答 1

1

在客户端处理大量行可能需要一些时间。所以我建议在服务器端移动正则表达式逻辑。

您可以为此使用 CLR 函数。

在此处查找示例:http ://www.simple-talk.com/sql/t-sql-programming/clr-assembly-regex-functions-for-sql-server-by-example/

更新

如果你想在客户端处理,让你看看在报告中使用表达式(包括正则表达式):http: //msdn.microsoft.com/en-us/library/ms157328 (v=SQL.100).aspx

于 2011-07-27T10:48:33.547 回答