|
1
2
NULL既不是布尔值false,也不是整数0。
如果它是假的,那么
将NULL视为“未知” 如果我不告诉你我的中间名,有人问你比尔的中间名是戴夫?你会说“我不知道” 如果他们问你是比尔的中间名 不 戴夫?你只能再说一次“我不知道”。 测试您的查询:
结果:
那么为什么user_id 1的结果是0呢? 因为在布尔上下文中,字符串不是隐式为真的。在MySQL中,布尔值和整数是相同的,所以这实际上是一个整数上下文。 在整数上下文中求值的字符串通过读取任何初始数字字符并忽略其余字符隐式转换为数字。如果没有初始数字字符,则字符串的数值为0。0对MySQL来说是假的。
|
|
|
Bard.Mus · 迁移后的数据库字符集环境 1 年前 |
|
Efannnnnn · 将Id数据存储到任何页面 1 年前 |
|
|
yooooo · 用于在块中删除的存储过程-LOOP未执行 1 年前 |
|
John Beasley · 更新一定数量记录的连续日期 1 年前 |
|
|
ColinM · MySQL以前的结果查询返回不正确的值 1 年前 |
|
Sergey_Z · MySQL只需无条件连接2个表和交叉连接 1 年前 |