mysql - 为什么在 SQL 匹配中使用 'LIKE' 不算数?

标签 mysql sql oracle oracle11g

我有一张表 ABC,其中包含 EMPLIDGRADESALARYDATE 作为其字段。

我正在执行以下 3 条语句:

select count(*) from ABC;

结果:- 458

select count(*) from ABC where GRADE LIKE '%def%';

结果:- 0

select count(*) from ABC where GRADE NOT LIKE '%def%';

结果:- 428

我的观点是:第二次查询的结果加上第三次查询的结果应该等于第一次查询的结果,不是吗?

最佳答案

看起来您有 30 条 GRADE 为 null 的记录。

null 值是未知的,因此不符合任何一个条件。

关于mysql - 为什么在 SQL 匹配中使用 'LIKE' 不算数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16814577/

相关文章:

java - 如何更新 sql 中包含 & 字符串的 url 列

mysql - 如何从nodejs中的嵌套函数返回数据库结果

php - 计数 View (关系数据库)

php - mysql中的html和css

mysql - 当不在另一个表中时从一个表中选择用户

sql - 获取Oracle表的列名、数据类型、大小和注释

MySQL date_add() 在 WHERE 子句中不起作用?

sql - 愚蠢的 SQL Q : Count from a query

sql - 将 varchar 转换为日期时间字段

sql - 如何在 Oracle RDBMS 中通过掩码删除用户