MySQL 中 WHERE 字段 条件为何过滤掉字母和 0 开头的记录?
MySQL中where字段条件的疑惑
疑惑:在SQL中,使用where 这种形式的条件,能够查询出数字开头的部分数据,但会过滤掉字母和0开头的。这是为何?
解答:
MySQL的where条件可以使用任何函数或操作符,但不能使用聚合函数。本例中,字段本身被视为一个表达式,该表达式的值能转为true时条件成立。
MySQL文档指出,“如果没有WHERE子句,该语句会选择所有的记录”。因此,where 实际上是WHERE IS NOT NULL,即字段不为空。
只有数字开头的字段值在转换为真值时才为true,而字母和0开头的字段值无法转换成真值,因此被过滤掉了。
以上就是MySQL 中 WHERE 字段 条件为何过滤掉字母和 0 开头的记录?的详细内容,更多请关注其它相关文章!