SQL Server中具有多定界符的STRING_SPLIT

时间:2019-05-03 01:17:05

标签: sql-server

我想基于多个值(例如','和'And',运算符)分割值。但是我在拆分功能中使用了“ And”,它不起作用,有人可以帮助我实现这一点吗?

select distinct y.value from  history x
 cross apply STRING_SPLIT(x.query, ',') y 
where lower(rtrim(ltrim(y.value))) not in (
    select s.value from keys s cross apply STRING_SPLIT(y.value, 'And') z where lower((s.value)) like lower(rtrim(ltrim(z.value)))
);
  

第214层消息,州11,第23行   该过程需要类型为'nchar(1)/ nvarchar(1)'的参数'separator'。

示例输入数据:

student,teacher,tutor and principle and director

输出:

student
teacher
tutor
principle
director

1 个答案:

答案 0 :(得分:1)

如果“ and”是输入中唯一出现的单词,则只需用逗号替换“ And”,然后进行字符串分割