MySQL:如果给定字段为空,则选择备用字段

时间:2010-03-20 20:39:44

标签: mysql

我想知道是否可以在同一个表上运行mysql命令,如果第一个给定字段为空,则可以选择备用字段。

示例:我有一个名为“posts”的表,其中包含“intro”和“content”。在同一语句中,我想选择“内容”,如果“intro”为空,但在结果数组中没有。

提前致谢

3 个答案:

答案 0 :(得分:18)

您可以使用IF功能:

SELECT IF(LENGTH(intro)>0, intro, content) 
FROM posts

如果您的意思是空NULL

,则可以测试NULL

答案 1 :(得分:14)

Coalesce就是你要找的。

SELECT COALESCE(intro, content) AS column1
FROM table

假设intro为null且不是零长度字符串。

答案 2 :(得分:2)

有两种可能的方法。什么时候是一个案例陈述。

Select case when field1 <> '' then field2 else field1 end

或者你可以使用合并。

select coalesce(field1, field2)