【问题标题】:Print a new column with conditional contraints using if statement in MySql使用 MySql 中的 if 语句打印具有条件约束的新列
【发布时间】:2018-04-30 15:23:54
【问题描述】:

我有一个表'actor',其字段是'pk','fname',lname。 我想打印一个列(让我们调用这个名称),默认情况下打印 fname 但如果 fname 为空,则打印 lname。

我使用的查询是:

select if(fname = null,lname,fname) as name from actor;

然而,这并没有完成给定的任务。 即使值为空,它也会打印 fname。

【问题讨论】:

    标签: mysql sql database if-statement


    【解决方案1】:

    要与NULL 值比较,您需要使用IS NULL

    select if(fname IS NULL,lname,fname) as name from actor;
    

    <=>:

    select if(fname <=> null,lname,fname) as name from actor;
    

    在您的示例中,最简单的方法是使用COALESCE

    SELECT COALESCE(fname, lname) AS name FROM actor;
    

    【讨论】:

      猜你喜欢
      • 2020-06-07
      • 2013-11-05
      • 1970-01-01
      • 2014-08-19
      • 1970-01-01
      • 2013-09-21
      • 2017-04-13
      • 2014-10-20
      • 1970-01-01
      相关资源
      最近更新 更多