繁体   English   中英

MySQL Coalesce()函数-确定哪个字段为非空

[英]MySQL Coalesce() function - Determining which field was non-null

我正在编写一个查询,该查询在我们的网站上获取用户的权限。 它首先检查权限是否存在任何替代,然后在网站上检查用户角色的权限,如果这些权限为null,则默认为0(又称无权限。其他值> 1)。 我认为Coalesce()是这里的最佳选择,因为我可以这样做

coalesce(override, role, 0);

覆盖和角色将是数据库中的字段。

但是,如果确实是覆盖权限,我需要知道,因为我显示了一个图标来表示它。 我有什么办法可以干净的方式确定这一点?

为布尔值添加一个单独的带有布尔值的列。

select coalesce(override,role,0), (override is not null) as override_enabled

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM