Разделить строку через запятую - PullRequest
0 голосов
/ 09 октября 2019

Какой лучший способ отделить строку, разделенную запятой, и принять каждое отдельное значение? пример

@variable = john,emma,walter, ... , dallas,

, затем принять одно значение, например ...

john
emma
walter
...
dallas

Мне нужно, чтобы каждое значение динамически создавало оператор выбора, например:

select * from tableName where john = ... and emma = ... //etc...

Спасибовы все

Решение Как разделить запятую значение на столбцы отличается тем, что оно разбито на столбец ... мне нужно использовать каждое значение для оператора выбора / где ...

Ответы [ 2 ]

1 голос
/ 09 октября 2019

Использовать таблицу переменных и объединиться с ней

Declare @SplitDate Table(
    DataValue NVARCHAR(100)
)
DECLARE @variable NVARCHAR(MAX)  = 'john,emma,walter,dallas'
INSERT INTO @SplitDate(DataValue)

SELECT value FROM STRING_SPLIT(@variable, ',');


SELECT * FROM @SplitDate
0 голосов
/ 09 октября 2019

Переверните свое состояние наоборот. То, что вы должны искать, это ...

WHERE 
    ',' + 'john,paul,ringo,george' + ',' LIKE '%,' + myfield + ',%'

Обратите внимание, что я добавил дополнительные наборы речевых меток, чтобы вы могли использовать список из переменной, например

WHERE 
    ',' + @mylist + ',' LIKE '%,' + myfield + ',%'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...