方式一:CHARINDEX***()*****
SELECT
*
FROM
U_PUR1
WHERE
CHARINDEX( ',' + '100306' + ',', ',' + DeptCode + ',' ) >0
匹配字符串开始位置的函数 CHARINDEX(str1,str,[start])
CHARINDEX(str1,str,[start])
函数返回子字符串 str1 在字符串 str 中的开始位置,start 为搜索的开始位置,如果指定 start 参数,则从指定位置开始搜索;如果不指定 start 参数或者指定为0或者负值,则从字符串开始位置搜索。
方式二:WHERE LIKE
SELECT
*
FROM
U_PUR1
WHERE
',' + DeptCode + ',' LIKE '%,' + '100306' + ',%';
Where Like 的方式显然更好理解一些,首先在字段收尾加上逗号,这样可以使得字段中每一个值都拥有完整的格式,再使用Like进行模糊匹配时,可以使首尾的值都能匹配到。