t包含另一条记录的一部分的sql记录

问题描述 投票:0回答:1

使用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函数中指定第二个字段名称,因此无法使用。

我想念什么?

sql sql-server tsql sql-like contains
1个回答
0
投票

您可以使用like

select t.*
from t
where field2 like concat('%', field1, '%')

[如果只希望匹配完整的“单词”,那么,您应该修复数据模型。您不应该将内容列表存储在字符串中。但是,如果必须的话,可以使用定界符:

select t.*
from t
where concat(' ', field2, ' ') like concat('% ', field1, ' %')
© www.soinside.com 2019 - 2024. All rights reserved.