首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果不为空,则选择列值,否则使用另一个列值

问如果不为空,则选择列值,否则使用另一个列值
EN

Stack Overflow用户
提问于 2010-10-17 15:31:03
回答 3查看 26.2K关注 0票数 15

我在mysql表中有两列:a和b。a总是字符串值,b有时是字符串值,有时是null。

如何构造mysql SELECT,以便在b不为null时采用b,否则采用a。

我试着用concat和if...then变魔术,但没有成功……

更新-扩展我的问题,有没有一个函数可以像Ifnull一样工作,但可以处理null和空值?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-10-17 15:33:41

使用IFNULL(b, a)。

如果expr1不为空,则

()返回expr1;否则返回expr2。

这是一个特定于MySQL的函数。您也可以以同样的方式使用COALESCE。这将在更多的数据库中工作,但它在MySQL中的性能略低于IFNULL。

票数 20
EN

Stack Overflow用户

发布于 2010-10-17 15:34:24

票数 3
EN

Stack Overflow用户

发布于 2014-05-05 16:12:06

代码语言:javascript
复制
IF(expr1,expr2,expr3)

如果expr1为真(expr1 <> 0和expr1 <> NULL),则IF()返回expr2;否则返回expr3。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3952406

复制
相关文章

相似问题

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