如何修复我的代码以获取像SSDT中的@之前指定符号之前的字符?

问题描述 投票:0回答:1

我正在使用visual studio ssdt(报告服务)。我想从字符串中检索子字符串。例如:在我的数据库中,我有7720@449943AJFDJ,7777@9r49r49 or 8888888844@dj939393我想从第一个符号检索子串到@。我使用这个code = CInt(Split(Fields!PRESENTATION_NAME.Value.ToString, "@")(0))。我没有任何错误,但我的代码显示我38505 - this's not true.我没有用38505开始的字符串。我期待从我的代码显示7720 , 7777 or 8888888844。你知道怎么解决这个问题吗?我上传文件看看我的意思。谢谢

visual-studio reporting-services report sql-server-data-tools
1个回答
0
投票

看起来你想要获得@之前的文字?如果是这样,InStr函数将查找指定文本第一次出现的位置。然后可以将其用作Left函数的第二个参数,从中减去1以省略最终结果中的@

Left(Fields!PRESENTATION_NAME.Value, InStr(Fields!PRESENTATION_NAME.Value, "@") - 1)
© www.soinside.com 2019 - 2024. All rights reserved.