22

我目前有一个将数据输出到 excel 文档中的 sql 语句。但是,每次有一个单元格没有数据时,它都会输出NULL到单元格中。我想知道是否有一种方法可以NULL只用空格替换?有人建议使用 coalesce 来做到这一点,但是我从来没有机会使用它,所以我必须对它做一些阅读。有人有其他建议吗?

4

5 回答 5

30

在您的选择中,您可以在列周围放置一个 IsNull/IfNull。效率不是特别高,但可以满足您的需求。

微软 SQL

Select IsNull(ColName, '') As ColName From TableName

MySQL

Select IfNull(ColName, '') As ColName From TableName
于 2012-09-12T19:00:39.290 回答
8

IFNULL 是 Oracle 扩展(被许多其他平台采用)。“标准” SQL 函数是 coalesce():

SELECT COALESCE(columnName, ' ') AS ColumnName
FROM tableName;
于 2012-09-12T19:12:57.990 回答
1

微软 SQL

UPDATE TABLE_NAME
SET COLUMN_NAME = ''
WHERE COLUMN_NAME IS NULL

注意:这将SET,而不是在您的 TABLE 中选择结果

于 2020-05-08T11:18:05.777 回答
0

MySQL

select IFNULL(columnName, '') from tableName

IFNULL(expr1,expr2)

如果 expr1 不为 NULL,则 IFNULL() 返回 expr1;否则返回 expr2。IFNULL() 返回一个数字或字符串值,具体取决于使用它的上下文。

于 2012-09-12T19:02:37.830 回答
0
SELECT teacher.name, IfNull(dept.name, '') as Dept
 FROM teacher left outer JOIN dept
           ON teacher.dept=dept.id
于 2016-02-10T12:03:01.333 回答