MariaDB 函数

MariaDB ISNULL() 函数用于测试表达式是否为 NULL。如果表达式为 NULL 值,则该函数返回 1。如果表达式不是NULL值,该函数返回0。

语法

ISNULL(expression) 

参数

expression

必需。 指定要测试的值为 NULL。

返回值

如果表达式为 NULL 值,则该函数返回 1。如果表达式不是NULL值,该函数返回0。

示例1:

下面的示例显示了ISNULL()的用法 函数。

SELECT ISNULL('Paris');
Result: 0

SELECT ISNULL(NULL);
Result: 1

SELECT ISNULL(5/0);
Result: 1

SELECT ISNULL(DATE('2018-10-15'));
Result: 0

SELECT ISNULL(DATE(NULL));
Result: 1

SELECT ISNULL('');
Result: 0 

示例 2:

考虑一个名为 Product 的数据库表,其中包含以下记录:

ProductNamePriceStockQuantityOrderQuantity
Apple1.0010020
Banana1.2512030
Orange2.15105NULL
Watermelon3.507515

如果OrderQuantity是可选的并且可以包含NULL值。下面提到的语句将给出 NULL 值。

SELECT *, Price * (StockQuantity + OrderQuantity) AS Inventory  
FROM Product; 

这将产生如下所示的结果:

ProductNamePriceStockQuantityOrderQuantityInventory
Apple1.0010020120.0
Banana1.2512030187.5
Orange2.15105NULLNULL
Watermelon3.507515315.0

为了避免这种情况,ISNULL()如果列包含 NULL 值,则可以使用函数与 IF 语句结合为该列提供替代值。

SELECT *, 
Price * (StockQuantity + IF(ISNULL(OrderQuantity), 0, OrderQuantity) AS Inventory
FROM Product; 

这将产生如下所示的结果:

ProductNamePriceStockQuantityOrderQuantityInventory
Apple1.0010020120.0
Banana1.2512030187.5
Orange2.15105NULL225.75
Watermelon3.507515315.0