gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 17:40:59 29 4
gpt4 key购买 nike

我有一个包含 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 因此不会被选中。

我建议您阅读handling with NULL values ,或here .

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

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

关于sql - NOT LIKE 和 LIKE 不返回相反的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40376260/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com