it-swarm.cn

DB2 SQL中的IsNull函数?

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

想象一下,我们的一些产品是内部的,所以他们没有名字:

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

可能会回归:

1 Socks 
2 Shoes 
3 Internal 
4 Pants
16
Dave

值得一提的是,COALESCE也是如此

IFNULL(expr1, default)

是您在DB2中寻找的完全匹配。

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

从而

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

为您提供您正在寻找的内容以及之前的答案,只需添加完整性即可。

35
MadMurf

我不熟悉DB2,但你有没有尝试过COALESCE?

即:


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

在DB2中有一个函数NVL(字段,值,如果为null)。

例:

选择ID,NVL(名称,“内部”AS名称,NVL(价格,0)作为产品的价格与UR;

2
Md. Kamruzzaman
Select Product.ID, VALUE(product.Name, "Internal") AS ProductName from Product
2
Jnn

我认为COALESCE函数部分类似于isnull,但试试吧。

你为什么不通过应用程序去处理null处理函数,它是更好的选择。

0
venkatram

希望这可以帮助其他人

  SELECT 
.... FROM XXX XX
WHERE
....
AND(
       param1 IS NULL
       OR XX.param1 = param1
       )
0
turnmoil

COALESCE功能相同ISNULL功能注意。必须使用COALESCE函数,并且检查的列的数据类型为null。

0
Fuangwith S.