Функция SQL ISNULL (), NVL (), IFNULL () и COALESCE ()
Функция SQL ISNULL (), NVL (), IFNULL () и COALESCE ()
Посмотрите на следующую таблицу "Продукты":
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | Jarlsberg | 10.45 | 16 | 15 |
2 | Mascarpone | 32.56 | 23 | |
3 | Gorgonzola | 15.67 | 9 | 20 |
Если "UnitsOnOrder" не является обязательным, и может содержать NULL значения.
Мы используем следующую ЗЕЬЕСТ:
FROM Products
В приведенном выше примере, если есть "UnitsOnOrder" значение NULL, то результат равен NULL.
функция от Microsoft ISNULL () используется для указания того, как обрабатывать NULL значения.
Функция NVL (), IFNULL () и COALESCE () также может достичь тех же результатов.
Здесь, мы надеемся, что NULL значение равно 0.
Теперь, если "UnitsOnOrder" является NULL, это не повлияет на расчет, потому что если значение равно NULL, ISNULL () возвращает 0:
SQL Server / MS Access
FROM Products
оракул
Oracle не IsNull функцию (). Тем не менее, мы можем использовать функцию NVL (), чтобы достичь того же результата:
FROM Products
MySQL
MySQL также имеет аналогичную функцию ISNULL (). Но он работает с ISNULL от Microsoft () функция немного отличается.
В MySQL, мы можем использовать функцию IFNULL () следующим образом:
FROM Products
Или же мы можем использовать функцию COALESCE () следующим образом:
FROM Products