MySQL:return" 0" &安培; " 1"而不是" false" &安培; "真"

时间:2016-02-29 13:24:46

标签: php mysql sql

我需要返回truefalse而不是1& 0,使用以下查询:

select if(u.id is null,false,true) status
from user u
limit 10

以上查询返回status,其值为0或1,而不是truefalse

有什么方法可以解决这个问题吗?

4 个答案:

答案 0 :(得分:3)

TRUE / FALSE相当于1/0。这只是前端如何显示它的问题。

如果你需要返回字符串" true"和"假" (我不建议 - 在显示屏上处理)然后你也必须考虑到这一点:

IF(IF(u.id ISNULL,false,true) = 1, 'TRUE', 'FALSE')

答案 1 :(得分:1)

如果需要,可以将值作为字符串返回:

select if(u.id is null, 'false', 'true') status
from user u
limit 10

答案 2 :(得分:1)

<强> IF()

您缺少单引号。

select if(u.id is null,'false','true') status
from user u
limit 10;

答案 3 :(得分:1)

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;