5

如果第一列中没有记录(为空),我想从另一列中选择值。我想要这样的东西:

SELECT (if Column1 IS NULL THEN Column2), Column3, Column4 FROM MyTable

我怎样才能在 SQLite 中做到这一点?

4

4 回答 4

10

使用COALESCE函数,它返回第一个非空参数:

SELECT COALESCE(Column1, Column2), Column3, Column4
FROM MyTable

在这种情况下,你会得到Column1,但如果它是 NULL,Column2则会被返回。

于 2013-05-30T07:39:28.803 回答
3

来自Safari 书籍

姓名

coalesce() — Return first non-NULL argument

常用用法

coalesce( param1, param2, ... )

描述

coalesce() 函数采用两个或多个参数并返回第一个非 NULL 参数。如果所有参数值为 NULL,则返回 NULL。

也可以看看

ifnull(), nullif()
于 2013-05-30T07:40:10.243 回答
2

你可以使用IFNULL函数,试试这个

SELECT IFNULL(Column1, Column2), Column3, Column4 FROM MyTable
于 2013-05-30T07:39:46.367 回答
1

使用COALESCE(column1,column2).

SELECT COALESCE(Column1, Column2), Column3, Column4 FROM MyTable
于 2013-05-30T07:39:58.190 回答