Mysql 如果不为null,请选择列值,否则请使用其他列值

Mysql 如果不为null,请选择列值,否则请使用其他列值,mysql,Mysql,mysql表中有两列:a和b。a始终是字符串值,b有时是字符串值,有时为空 如何构造一个mysql SELECT,以便在b不为null时取b,否则取a 我试着用concat制作一些魔术,如果…那么没有成功 更新-为了扩展我的问题,是否有一个函数可以像Ifnull一样工作,但可以用于null和空值?使用 如果expr1不为NULL,则IFNULL()返回expr1;否则返回expr2 这是一个特定于MySQL的函数。你也可以用同样的方法。这将在更多数据库中工作,但在MySQL中的性能比IFNULL

mysql表中有两列:a和b。a始终是字符串值,b有时是字符串值,有时为空

如何构造一个mysql SELECT,以便在b不为null时取b,否则取a

我试着用concat制作一些魔术,如果…那么没有成功

更新-为了扩展我的问题,是否有一个函数可以像Ifnull一样工作,但可以用于null和空值?

使用

如果expr1不为NULL,则IFNULL()返回expr1;否则返回expr2

这是一个特定于MySQL的函数。你也可以用同样的方法。这将在更多数据库中工作,但在MySQL中的性能比IFNULL稍差。


如果expr1为TRUE(expr10和expr1为NULL),则If()返回expr2;否则返回expr3

很抱歉,我没有在mysqlf中找到此函数。
IF(expr1,expr2,expr3)