我在表中有一个列,其中包含示例数据,如下所示:
ServiceTypeIds
7,1
1,9
1
9
4
7
7
在我的 Where 子句中,我使用以下内容对其进行搜索:
WHERE(@ServiceTypes IS NULL OR CHARINDEX(','+CAST(SEP.ServiceTypeIDs as VARCHAR(255))+',', ','+@ServiceTypes+',') > 0)))
如果我的参数 @ServieTypes 等于 '1,9',那么我会得到结果,但是当它是 @ServiceTypes = '1' 或只是 '9' 时,我不会收到任何回复。表格设计很差,但我只是没有足够的时间来创建新表格并修改 c# 代码。我尝试使用表值函数,但由于 ServiceTypeIds 不是主键列,所以它不起作用。有人可以帮忙吗?