【问题标题】:SQL - if statement onlySQL - 仅 if 语句
【发布时间】:2017-09-01 17:54:16
【问题描述】:

我需要在 SQL 查询中设置 if-statement 而不设置 else 部分。但是if-statement 的语法是IF(<condtion>, <true part>, <false part>)。我没有(不需要设置)其他部分的任何值。

示例: 从用户表中,如果用户 id 大于 0,那么我只需要添加用户 id。我怎样才能实现/添加这样的条件?

SELECT
    u.fname,
    u.lname,
    IF(u.id>0, u.id, ? )  // Here I do not have value for else part.
FROM
    user_table u;

【问题讨论】:

  • 你为什么只放一个空值
  • 我认为您必须将 null 放在 else 部分,因为它会拾取列,然后您选择值或将 null 放在该位置。
  • @Krunal tadman 的回答就是我的意思
  • 见 tadman 的回答。
  • 抱歉不明白你为什么在评论中这么说? . tadman的回答和我说的一样

标签: mysql sql if-statement null


【解决方案1】:

结果行中的每一列都必须包含一个值,即使该值为NULL

SELECT fname, lname, IF(id>0, id, NULL) AS id FROM user_table;

一个结果集包含许多行,其中一个约束是这些行必须具有相同数量的具有相同定义的列。

【讨论】:

    猜你喜欢
    • 2016-11-10
    • 2013-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 2017-05-04
    相关资源
    最近更新 更多