例如,我在SSMS数据库中有这个字符串:
发送处理:1;DK A/c - westlynipes:ACCT NOT FOUND;DK A/C-SonyaBlade:ACCT NOT FOUND
我想要能够做的是拉出WestleySnipes和SonyaBlade从该字符串和存储在一个临时表。名称可以是不同的,并且在一个特定的字符串中可以有多个名称。
我试过使用子字符串与CharIndex相结合,但我只能取出1个值。不确定如何从同一字符串中提取多个名称,其中名称可以在任何给定字符串中更改。
在SQL Server 2016及以后版本中,STRING_SPLIT(字符串,分隔符)是一个表值函数。您可以使用;
分隔符拆分文本字符串,如下所示。(小提琴)。
SELECT value FROM STRING_SPLIT(
'Sent for processing:1 ;DK A/C-WestlySnipes:ACCT NOT FOUND ;DK A/C-SonyaBlade:ACCT NOT FOUND',
';')
你会得到这个: