使用SQL Server2014。是否可以选择在另一个字段中部分存在字符串值的记录?
例如:
RowID Field1 Field2
1 ABC ABC DEF
2 XYZ WERQ
3 MNB MNB RTW
从上面开始,我希望第1行和第3行具有匹配的ABC和MNB。
SELECT RowID FROM MY TABLE
WHERE CONTAINS(Field1, Field2);
我已经尝试了上面的方法,但是,由于无法在CONTAINS函数中指定第二个字段名称,因此无法使用。
我想念什么?
您可以使用like
:
select t.*
from t
where field2 like concat('%', field1, '%')
[如果只希望匹配完整的“单词”,那么,您应该修复数据模型。您不应该将内容列表存储在字符串中。但是,如果必须的话,可以使用定界符:
select t.*
from t
where concat(' ', field2, ' ') like concat('% ', field1, ' %')