首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL:返回"0“和"1”,而不是"false“和"true”

MySQL:返回"0“和"1”,而不是"false“和"true”
EN

Stack Overflow用户
提问于 2016-02-29 13:24:45
回答 5查看 11.4K关注 0票数 5

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

代码语言:javascript
复制
select if(u.id is null,false,true) status
from user u
limit 10

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

有办法解决这个问题吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-02-29 13:26:27

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

代码语言:javascript
复制
SELECT IF(u.id IS NULL, 'false', 'true') as status
FROM user u
LIMIT 10
票数 9
EN

Stack Overflow用户

发布于 2016-02-29 13:27:39

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

如果您需要返回字符串"true“和"false”(我不建议-在显示中处理这些字符串),那么您还必须考虑到这一点:

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

票数 4
EN

Stack Overflow用户

发布于 2016-02-29 13:48:26

MySQL没有布尔数据类型,因此需要在MySQL端使用0和1:

代码语言:javascript
复制
select if(u.id is null, 0, 1) status_int
from user u
limit 10

如果您更喜欢PHP中的布尔值而不是0/1,您可以这样转换它:

代码语言:javascript
复制
$status = (bool) $status_int;
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35700716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档