sql – 使用“Like”函数比较同一表中的2列

我试图想出一种方法来查询同一个表中两个不同列中的值,其中结果集将指示columnB的值不包含columnA值的实例.

例如,我的“节点”表包含“NodeName”和“DNS”列.
值应类似于以下内容:

NodeName    DNS
Router1     Router1.mydomain.com

我想运行一个查询来显示哪些行的DNS值不包含(或以NodeName字段的值开头).我认为查询应该具有类似于以下内容的功能,但显然我在这种情况下缺少关于使用“Like”的内容.

SELECT NodeName, DNS
WHERE DNS NOT LIKE 'NodeName%'

我正在使用SQL Server 2005,任何建议都将非常感谢…… 🙂

最佳答案
SELECT NodeName, DNS
WHERE DNS NOT LIKE NodeName + '%' AND DNS NOT LIKE '%' + NodeName + '%'

您的DNS LIKE’NodeName%’正在将字符串文字“NodeName”与DNS进行比较

编辑:

Nissan Fan添加了NOT LIKE’%’NodeName’%’,这意味着不喜欢NodeName’%’不需要.

这取决于是否需要“包含”或“以…开头”:选择.

@Nissan Fan:谢谢:你应该发布它作为你自己的答案……

转载注明原文:sql – 使用“Like”函数比较同一表中的2列 - 代码日志