想办法吧emp_code(a,b,c)转化为一个列表并放到临时表中。
其中一个方法:
-- 首先把字符串转换成列表
-- declare @emp_codevarchar(100)
-- set @emp_code= ''
-- set @emp_code='a,b,c,d,e'
SELECT
value,
case when @emp_code
='' then '1' else value end as strlist -- @str为空时尽量用数字字符,不然可数据类型不兼容(字段类型为int等,'1'可以和数字类型兼容)
into #tmp_临时表
FROM
STRING_SPLIT(@str, ',')
-- 查询条件:and F.UDF021 IN (SELECT strlist FROM #tmp_临时表)