【问题标题】:Expression to remove carriage return in SSRS在 SSRS 中删除回车的表达式
【发布时间】:2016-04-16 02:13:11
【问题描述】:

我正在努力让表达式在 SSRS 中起作用。

我有一个地址块存储在一个带有回车符的 Oracle 数据库中。

一个例子是存储在数据库中的数据是:

123 Anywhere Street<CR><LF>
SOMETOWN-ON-SEA<CR><LF>
NARNIA<CR><LF>
AA1 1AA<CR><LF>

我在 SSRS 中的字段上创建了一个表达式,如下所示:

=Replace(Fields.Address, vbCRLF, " ")

似乎是正确的做法,但我最终得到的是:

123 Anywhere StreetSOMETOWN-ON-SEANARNIAAA1 1AA

它对我告诉它添加的空间做了什么?为什么他们不在那里?

注意:好的,是的,我可以在 PL/SQL 中做这个替换,是的,这将解决我的问题,但这并不是重点。我想知道为什么它在 SSRS 中不起作用

【问题讨论】:

  • 不确定是否是同一件事,但我曾经看到过类似的事情,结果证明这是由于 Internet Explorer 的行为从 HTML 中删除了尾随空格。我知道这似乎没有意义,因为应该附加这些行但尝试使用 chr(160) 而不是 " "...
  • &lt;CR&gt;&lt;LF 是返回的原始文本吗?当我在 &lt;CR&gt;&lt;LF 而不是 vbCRLF 上进行替换时,它的行为符合预期......
  • 很抱歉,如果不清楚 '' 部分是我试图表明每行末尾都有这些隐藏字符。它并不是一个文字字符串。
  • @Nathan 刚刚尝试了 chr(160) 的事情......仍然没有乐趣 :( 目前我只是在 Visual Studio 的预览窗格中运行它。奇怪的是,vbCRLF被正确替换,只是最后的空格没有被附加。在 Chrome 和 IE 中也试过,做同样的事情

标签: sql-server oracle reporting-services ssrs-2012 ssrs-expression


【解决方案1】:

回车通常由字符 10 和 13 表示。这对我有用:

=Replace(Replace(Fields!ADDRESS.Value, Chr(13), ""), Chr(10), " ")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 1970-01-01
    相关资源
    最近更新 更多