MySQL 中 WHERE 字段 条件为何过滤掉字母和 0 开头的记录?

mysql 中 where 字段 条件为何过滤掉字母和 0 开头的记录?

MySQL中where字段条件的疑惑

疑惑:在SQL中,使用where 这种形式的条件,能够查询出数字开头的部分数据,但会过滤掉字母和0开头的。这是为何?

解答:

MySQL的where条件可以使用任何函数或操作符,但不能使用聚合函数。本例中,字段本身被视为一个表达式,该表达式的值能转为true时条件成立。

MySQL文档指出,“如果没有WHERE子句,该语句会选择所有的记录”。因此,where 实际上是WHERE IS NOT NULL,即字段不为空。

只有数字开头的字段值在转换为真值时才为true,而字母和0开头的字段值无法转换成真值,因此被过滤掉了。

以上就是MySQL 中 WHERE 字段 条件为何过滤掉字母和 0 开头的记录?的详细内容,更多请关注其它相关文章!