比较 SQL 服务器中的非连续子字符串
compare non consecutive substrings in SQL server
我有两个逗号分隔的字符串:
- string1 =
abc,cde,efg
- string2 =
abc,efg
有什么方法可以找到值的交集,即 string1 中与 string2 中的子字符串匹配的任何子字符串?
我尝试根据逗号拆分字符串,发现左侧的任何字符串与右侧字符串的子字符串匹配,然后为真,否则为假。
您可以这样做:
SELECT s1.value
FROM STRING_SPLIT('abc,cde,efg', ',') AS s1
CROSS JOIN STRING_SPLIT('abc,efg', ',') AS s2
WHERE s1.value = s2.value
-- returns ('abc') and ('efg')
我有两个逗号分隔的字符串:
- string1 =
abc,cde,efg
- string2 =
abc,efg
有什么方法可以找到值的交集,即 string1 中与 string2 中的子字符串匹配的任何子字符串?
我尝试根据逗号拆分字符串,发现左侧的任何字符串与右侧字符串的子字符串匹配,然后为真,否则为假。
您可以这样做:
SELECT s1.value
FROM STRING_SPLIT('abc,cde,efg', ',') AS s1
CROSS JOIN STRING_SPLIT('abc,efg', ',') AS s2
WHERE s1.value = s2.value
-- returns ('abc') and ('efg')