当前位置: 首页 > 面试题库 >

NOT LIKE和LIKE不返回相反的结果

贺景胜
2023-03-14
问题内容

我有一个包含200条记录的表,其中10条记录的文本包含单词“ TAX”。

当我执行

Select * from tbl1 WHERE [TextCol] LIKE '%TAX%'

然后我正确地得到了那10条记录的结果集。

但是当我试图排除那些记录时

Select * from tbl1 WHERE [TextCol] NOT LIKE '%TAX%'

它仅返回100条记录,而不是190条。


问题答案:

这会返回正确的结果吗?

Select * from tbl1 WHERE COALESCE([TextCol],'-1') NOT LIKE '%TAX%'

我认为NULL这里是值的问题,如果列中包含它们,NULL NOT LIKE '%TAX%'则将返回UNKNOWN/NULL,因此将不会被选择。

我建议您阅读有关使用NULL值进行处理的信息,或在这里。

正如@ughai所建议的,如果性能是一个问题,您还可以使用:

  Select * from tbl1 
  WHERE [TextCol] NOT LIKE '%TAX%'
     OR [TextCol] IS NULL


 类似资料:
  • 问题内容: 我正在使用HSM和PKCS11处理密钥派生问题,目前我无法理解为什么我会看到完全不同的结果,这取决于我是否使用generateKey()方法,而不是使用crypto()方法。在这两种情况下,我都尝试将DESede / ECB / NoPadding算法用于结果,但是根据我用来生成结果的方法(deriveKey与加密),我看到了不同的结果。 退后一会儿,以给出高层次的概述…我正在使用Gl

  • 我有一个简单的代码,可以从第14列开始将转置的范围复制到另一张表的最后一行 它按原样返回零结果。如果我将destrow从公式更改为simple 2(这是现在最后一个空行),则效果很好。为什么不返回目标工作表中的最后一行索引?

  • 我正在尝试处理新的AndroidLollipopMediaProjection API。 我发现(至少在我的股票三星Galaxy S4 jfltexx上),当我开始意图获取捕获屏幕的权限()时,除非我在前面的尝试中选中了“不要再次询问”,否则在中不会有结果... 和结果处理: 权限对话框显示得很好,但是我的活动被隐藏了,它永远不会转到。 知道出什么问题了吗?

  • 虽然运行与SQL查询相同的查询并获取结果,但在ifCurrent中未获取任何结果。 我是否传递了错误的参数? 这就是在学校里通过的

  • 我在单元格A1和B1中放置了两个日期时间值。约会时间精确41703.0416666667。一个是从SQL数据库输出,另一个是手工编写的。 =if(A1=B1,1,0)的结果为1。=匹配(B1,A1,0)的结果为#N/A。 有人对为什么会发生这种情况有什么理论吗?

  • 我正在使用postgis计算两个地理坐标之间的距离。 它返回给我53536.743496517米,大约等于54公里,但实际距离是103公里,我通过http://boulter.com/gps/distance/ 我在询问中是否做错了什么?