Нулевые функции MySQL
Функции MySQL 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.
Посмотрите на следующий оператор SELECT:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products;
В приведенном выше примере, если какое-либо из значений «UnitsOnOrder» равно NULL, результатом будет NULL.
Функция MySQL IFNULL()
Функция MySQL IFNULL()
позволяет вам вернуть альтернативное значение, если выражение имеет значение NULL.
Пример ниже возвращает 0, если значение равно NULL:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products;
Функция MySQL COALESCE()
Или мы можем использовать функцию, например:
COALESCE()
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products;