ifnull与nvl

mac2025-11-20  3

1.ifnull

IFNULL ( expression1 , expression2 );

 表达式1为null,返回表达式2;表达式1不为null,则返回表达式1。

SELECT IFNULL (SCORE, 0.0) FROM TESTING; IFNULL -------- 100.0 87.0 .0 .0 .0 (5 rows)

2.nvl

NVL ( expression1 , expression2 );

如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。

表达式1和表达式2的数据类型必须为同一个类型。

SELECT NVL(SCORE, 0.0) FROM TESTING; IFNULL -------- 100.0 87.0 .0 .0 .0 (5 rows)

3.nvl2

NVL2 ( expression1 , expression2 , expression3 );

如果表达式1为空,返回值为表达式3的值。如果表达式1不为空,返回值为表达式2的值。

SELECT NVL2('very', 'fast', 'database'); nvl2 ------ fast (1 row)

 

最新回复(0)