SQL Функции ISNULL(), NVL(), IFNULL() и COALESCE()
Есть таблица "Products":
| 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 значения.
Для этого используем такой запрос:
В приведенном выше примере, если какой-либо из "UnitsOnOrder" имеет значения NULL, то результат будет недействительным.
ISNULL() - функция используется для указания способа получения NULL значений.
NVL (), IFNULL () и COALESCE() функции используются для того же.
В данном случае мы хотим, чтобы NULL значения были нулем.
Если "UnitsOnOrder" в таком случае будет NULL для нас не представит сложности использовать ISNULL() которая вернет нули вместо NULL:
SQL Server / MS Access
Oracle
В Oracle нет функцию ISNULL (). Тем не менее NVL () аналогична функции ISNULL ():
MySQL
В MySQL используется функция ISNULL().
или же мы можем использовать функцию COALESCE().
SQL isnull()





Комментарии