我需要在SQL查询中设置if-statement
而没有else
部分。但if-statement
语法为IF(<condtion>, <true part>, <false part>)
。我没有(不需要设置)else部分的任何值。
示例:从用户表中,如果用户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;
答案 0 :(得分:2)
结果行中的每一列都必须包含一个值,即使该值为NULL
:
SELECT fname, lname, IF(id>0, id, NULL) AS id FROM user_table;
结果集包含许多行,其中一个约束是这些行必须具有相同数量的具有相同定义的列。