在下面的查询中:
为什么在查询中加入
无论数据是什么,都不重要,这里提供一个示例:
注意:我正在使用mysql5.7。
select count(1) from main_territory where code = true
union all
select count(1) from main_territory where code = false;
-------------------------------------------------------------------
count(1)
0
250
为什么在查询中加入
0
或false
会返回所有行?无论数据是什么,都不重要,这里提供一个示例:
CREATE TABLE z_tmp (x varchar(11));
insert into z_tmp values ('x'); -- note this is not a Boolean
select count(1) from z_tmp where x=true union all select count(1) from z_tmp where x=false;
注意:我正在使用mysql5.7。
'1'
。这个值是真实的,所以是真的。这里除了类型的强制转换之外没有什么事情发生了。 - Tim Biegeleisen1
开头,则转换将为false。 - Tim Biegeleisen