我需要返回true或false,而不是1 & 0,使用以下查询:
select if(u.id is null,false,true) status
from user u
limit 10以上查询返回值为0或1的status,而不是true和false,
有办法解决这个问题吗?
发布于 2016-02-29 13:26:27
如果需要,可以将值作为字符串返回。
SELECT IF(u.id IS NULL, 'false', 'true') as status
FROM user u
LIMIT 10发布于 2016-02-29 13:27:39
TRUE/FALSE等于1/0。这只是你的前端如何显示它的问题。
如果您需要返回字符串"true“和"false”(我不建议-在显示中处理这些字符串),那么您还必须考虑到这一点:
IF(IF(u.id ISNULL,false,true) = 1, 'TRUE', 'FALSE')
发布于 2016-02-29 13:48:26
MySQL没有布尔数据类型,因此需要在MySQL端使用0和1:
select if(u.id is null, 0, 1) status_int
from user u
limit 10如果您更喜欢PHP中的布尔值而不是0/1,您可以这样转换它:
$status = (bool) $status_int;https://stackoverflow.com/questions/35700716
复制相似问题