我知道将数字与 VARCHAR 字段进行比较是愚蠢的想法,我不应该比较它,但我只是想了解原因。
我有以下架构的表。
Table: user
--------------------
number varchar(24)
我将 MyISAM 作为存储引擎。
数字字段包含混合数据,即数字(如“9999999”)和字符串(如“注册”)。
我正在尝试运行以下查询。
SELECT * FROM user where number=0
但它返回数字字段包含字符串值(如“signup”)或数字字段为空的所有行。
虽然如果我运行以下查询..
SELECT * FROM user where number=1 or SELECT * FROM user where number=97654
他们没有返回任何行,因为没有一行在其数字字段中具有 1 或 97654 值。
有人可以帮助我了解 mysql 如何将 0 与 varchar 字段进行比较吗?