Учебник по MySQL

ГЛАВНАЯ СТРАНИЦА MySQL Введение в MySQL СУРБД MySQL

MySQL SQL

MySQL SQL ВЫБРАТЬ MySQL MySQL ГДЕ MySQL И, ИЛИ, НЕ MySQL ЗАКАЗАТЬ ПО MySQL ВСТАВИТЬ В Значения MySQL NULL ОБНОВЛЕНИЕ MySQL MySQL УДАЛИТЬ ПРЕДЕЛ MySQL MySQL МИН и МАКС MySQL COUNT, СРЕДНЯЯ, СУММА MySQL НРАВИТСЯ Подстановочные знаки MySQL MySQL IN MySQL МЕЖДУ Псевдонимы MySQL MySQL присоединяется ВНУТРЕННЕЕ СОЕДИНЕНИЕ MySQL ЛЕВОЕ СОЕДИНЕНИЕ MySQL MySQL ПРАВОЕ СОЕДИНЕНИЕ ПЕРЕКРЕСТНОЕ СОЕДИНЕНИЕ MySQL Самостоятельное присоединение к MySQL СОЕДИНЕНИЕ MySQL MySQL СГРУППИРОВАТЬ ПО MySQL ИМЕЕТ MySQL СУЩЕСТВУЕТ MySQL ЛЮБОЙ, ВСЕ MySQL ВСТАВИТЬ ВЫБРАТЬ СЛУЧАЙ MySQL Нулевые функции MySQL Комментарии MySQL Операторы MySQL

База данных MySQL

MySQL Создать БД Удаление базы данных MySQL MySQL Создать таблицу Таблица удаления MySQL Таблица изменений MySQL Ограничения MySQL MySQL не нулевой Уникальный MySQL Первичный ключ MySQL Внешний ключ MySQL Проверка MySQL MySQL по умолчанию Индекс создания MySQL Автоматическое увеличение MySQL Даты MySQL Представления MySQL

Ссылки на MySQL

Типы данных MySQL Функции MySQL

Примеры MySQL

Примеры MySQL Викторина MySQL MySQL-упражнения

Нулевые функции 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;