我想在下表中执行where条件,但是在从Period
colomn获取值后,我不知道如何进行拆分和测试:
Code Period
1 PER1
2 PER
3 ESN;PER_ESN;PER
4 PRN
5 PRN1;PRN2;PRN3;PRN4
查询示例如下:
select code from Mytable where Period like 'PER_ESN'
希望有人可以提供帮助:)
答案 0 :(得分:1)
编辑:更改为处理参数 免责声明。你的桌子没有标准化,它会带来糟糕的表现:
DECLARE @param_period VARCHAR(200) = 'PER_ESN'
SET @param_period =';'+ REPLACE(REPLACE(@param_period,'_','[_]'),'%', '[%]') + ';'
SELECT code
FROM Mytable
WHERE ';' + Period + ';' LIKE @param_period
更换wildchars的原因是为了避免在其中接受不同的文本。