DB2 SQL中的IsNull函数吗?

时间:2020-03-05 18:54:06  来源:igfitidea点击:

是否有与DB2的isnull函数等效的性能?

想象一下我们的某些产品是内部产品,因此它们没有名称:

Select product.id, isnull(product.name, "Internal) 
From product

可能返回:

1 Socks 
2 Shoes 
3 Internal 
4 Pants

解决方案

回答

我对DB2不熟悉,但是我们尝试过COALESCE吗?

IE:

SELECT Product.ID, COALESCE(product.Name, "Internal") AS ProductName
FROM Product

回答

COALESCE函数与ISNULL函数相同
笔记。我们必须对与我们检查为空的列相同的数据类型使用COALESCE函数。

回答

我认为COALESCE的功能部分类似于isnull,但是尝试一下。

为什么不通过应用程序使用null处理功能,这是更好的选择。

回答

就其价值而言,COALESCE是相似的,但

IFNULL(expr1, default)

是我们在DB2中寻找的完全匹配项。

COALESCE允许多个参数,返回第一个NON NULL表达式,而IFNULL仅允许该表达式和默认值。

因此

SELECT product.ID, IFNULL(product.Name, "Internal") AS ProductName
FROM Product

为我们提供所需的信息以及先前的答案,只是为了完整性而添加。