如何从字符串的任意字符位置提取子字符串

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

我在编写查询以从数据扩展中可用的字符串中提取子字符串时遇到问题。 我有一个包含这种格式的数据的字段 {"Body":"Hi TestSFMC"}。我只想从给定字段中提取 Substring- TestSFMC 。 这是我的查询 - 选择 SUBSTRING(a.MessageData, CHARINDEX(':',a.MessageData)+2, LEN(a.MessageData)-2) AS MessageData 来自 FabriCare_WA_Inbound_Message_DetailsDE a 查询的问题是我得到了所需的输出,但有一个小问题,即它在子字符串之后给出了结束双引号和结束大括号。就像我当前的输出是 - Hi TestSFMC"}

我只想要 Hi TestSFMC 作为输出。谁能帮我解决我的疑问吗?

提前非常感谢。

这是我的查询 - 选择 SUBSTRING(a.MessageData, CHARINDEX(':',a.MessageData)+2, LEN(a.MessageData)-2) AS MessageData 来自 FabriCare_WA_Inbound_Message_DetailsDE a 查询的问题是我得到了所需的输出,但有一个小问题,即它在子字符串之后给出了结束双引号和结束大括号。就像我当前的输出是 - Hi TestSFMC"}

我只想要 Hi TestSFMC 作为输出。谁能帮我解决我的疑问吗?

sql string salesforce substring salesforce-marketing-cloud
1个回答
0
投票

尝试像这样:

声明 @MessageData nvarchar(max)='{"Body":"Hi TestSFMC"}' 选择替换(SUBSTRING(@MessageData, CHARINDEX(':',@MessageData)+2, LEN(@MessageData)-2),'"}','')

© www.soinside.com 2019 - 2024. All rights reserved.