сравнение непоследовательных подстрок в SQL server

#sql #sql-server #string #sql-like

Вопрос:

У меня есть две строки, разделенные запятыми:

  • строка 1 = abc,cde,efg
  • строка 2 = abc,efg

Есть ли способ, которым я могу найти пересечение значений, т. Е. любую из подстрок в строке 1, которые соответствуют подстрокам в строке 2?

Я попытался разделить строку на основе запятой и найти любую строку с левой стороны, соответствующую подстроке правой строки, а затем true или false.

Ответ №1:

Вы можете сделать это вот так:

 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')  

Комментарии:

1. Спасибо, чувак, это помогло мне выстроить свою логику и получить необходимый результат.