Usa*_*lvi 0 sql database sql-server
我试图根据不同长度的单词或字符来打破一个字符串。我正在使用 SQL Server 2014 Management Studio。
String ===> 'term1 OR term2'
Run Code Online (Sandbox Code Playgroud)
所以我想根据“OR”来打破它,所以结果是
term1
term2
Run Code Online (Sandbox Code Playgroud)
也可以这样
term3 AND term4
Run Code Online (Sandbox Code Playgroud)
所以它会在 AND 给我们结果的基础上被破坏
term3
term4
Run Code Online (Sandbox Code Playgroud)
一种方法是使用string_split()-- 稍加改动,因为它不支持多字符分隔符:
select *
from string_split( replace(@str, ' OR ', '|'), '|')
Run Code Online (Sandbox Code Playgroud)
注意:这假定它|不是有效的“单词”字符。
这是一个 db<>fiddle。