如何在MySQL中实现三值条件运算符

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (43)

我想在MySQL中实现三元条件运算符。我有一个表,其中有一个字段id。它的值可能为空。我想展示id在三元条件格式中,如下所示:

select id = id == null ? 0 : id;

在MySQL中有可能吗?

提问于
用户回答回答于
用户回答回答于

ifnull(expr1,expr2) 如果expr1不是NULL,,,IFNULL()回报expr1;否则它会返回expr2...

还有很多例子。这相当于使用三元条件,并将其与NULL作为第二个操作数的比较主题;它没有碰巧使用符号?:让你去那里和任何事都没有关系。

所以,就你而言:

SELECT IFNULL(`id`, 0) FROM `table`

如果迫切需要显式地提供三个操作数(为什么?!),那么切换到IF:

SELECT IF(`id` IS NULL, 0, `id`) FROM `table`

扫码关注云+社区