哪种是用逗号分隔字符串并获取每个值的最佳方法? 例子
@variable = john,emma,walter, ... , dallas,
然后采用单个值,例如...
john
emma
walter
...
dallas
我需要每个值来动态创建以下选择语句:
select * from tableName where john = ... and emma = ... //etc...
谢谢大家
解决方案How to split a comma-separated value to columns有所不同,因为它吐入了列...我需要为select / where语句使用每个值...
答案 0 :(得分:1)
使用变量表并与之连接
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
答案 1 :(得分:0)
反之亦然。您应该搜索的是...
WHERE
',' + 'john,paul,ringo,george' + ',' LIKE '%,' + myfield + ',%'
请注意,我附加了额外的语音标记集,因此您可以使用变量中的列表,例如
WHERE
',' + @mylist + ',' LIKE '%,' + myfield + ',%'