SSRS 从第二个字符串之前的字符串中提取子字符串

a41*_*415 5 sql-server reporting-services ssrs-2008-r2

我有一个类似于以下 4444-4444-TestingItem1 的字段。我是否可以将字段提取到 4444-4444。如果是这样,我将如何做到这一点?我将在 SSRS 中使用什么功能。请注意它可以是第一个破折号和第二个破折号之前的任意数量的字符。

如何在 SSRS 中实现这一点?

ale*_*eta 6

在 SSRS 中,您可以使用LEFTInStrRev运行:

=LEFT(Fields!YourField.Value,InStrRev(Fields!YourField.Value,"-")-1)
Run Code Online (Sandbox Code Playgroud)

如果这有帮助,请告诉我。


Pet*_*ing 3

蒂姆和亚历杭德罗都给出了适合您的示例的良好答案。这是两者的组合,作为 SSRS 表达式而不是 SQL,并处理具有两个以上破折号的字符串。

=LEFT(Fields!FIELD.Value, InStr(InStr(Fields!FIELD.Value, "-") +1, Fields!FIELD.Value, "-") -1)
Run Code Online (Sandbox Code Playgroud)