Функция MySQL IFNULL

В этой статье мы расскажем о функции MySQL IFNULL. Это удобная функция для обработки значений NULL.

Общие сведения

IFNULL является одной из функций потока управления MySQL, которая принимает два аргумента и возвращает первый, если он не равен NULL. Иначе она возвращает второй аргумент.

В качестве аргументов могут выступать конкретные значения или выражения. Ниже приведен синтаксис функции IFNULL:

IFNULL(выражение_1,выражение_2);

FNULL возвращает выражение_1, если выражение_1 не равно NULL; в противном случае возвращается выражение_2.

Если вы хотите вернуть значение, исходя из соответствия условию TRUE или FALSE, а не NULL, вам следует использовать функцию IF.

Примеры применения функции

Посмотрите следующие примеры применения функции MySQL IFNULL:

SELECT IFNULL(1,0); — возвращает 1

Посмотреть код

SELECT IFNULL(»,1); — возвращает »

Посмотреть код

SELECT IFNULL(NULL,’IFNULL function’); — возвращает IFNULL function

Посмотреть код

Как это работает:

  • IFNULL (1,0) возвращает 1, потому что 1 не равно NULL;
  • IFNULL (», 1) возвращает », потому что строка не является NULL;
  • IFNULL (NULL, «IFNULL function») возвращает строку IFNULL function, потому что первый аргумент — NULL.

Рассмотрим практический пример использования функции MySQL IFNULL.

Сначала создайте новую таблицу под названием contacts, используя следующий запрос:

CREATE TABLE IF NOT EXISTS contacts (
contactid INT AUTO_INCREMENT PRIMARY KEY,
contactname VARCHAR(20) NOT NULL,
bizphone VARCHAR(15),
homephone VARCHAR(15)
);

Запись каждого контакта содержит имя, рабочий и домашний телефон. Затем вставьте данные в таблицу contacts:

INSERT INTO contacts(contactname,bizphone,homephone)
VALUES(‘John Doe’,'(541) 754-3009′,NULL),
(‘Cindy Smith’,NULL,'(541) 754-3110′),
(‘Sue Greenspan’,'(541) 754-3010′,'(541) 754-3011′),
(‘Lily Bush’,NULL,'(541) 754-3111′);

Для некоторых контактов указан только домашний или рабочий телефон. Чтобы получить все имена контактов и телефоны из таблицы, используем следующий запрос:

SELECT
contactName, bizphone, homephone
FROM
contacts;

Посмотреть код

Функция MySQL IFNULL

Было бы неплохо, если бы мы могли получить домашний телефон контакта, если рабочий телефон недоступен. В этом нам поможет функция IFNULL. Она вернет домашний телефон, если рабочий телефон — NULL.

Используйте следующий запрос, чтобы получить имена и телефоны всех контактов:

SELECT
contactname, IFNULL(bizphone, homephone) phone
FROM
contacts;

Посмотреть код

Функция MySQL IFNULL

Необходимо избегать использования функции в операторе WHERE, поскольку это уменьшает производительность запроса. И вам может показаться, что MySQL IFNULL не работает.

Если вы хотите проверить, является ли значение NULL или нет, можно использовать в операторе WHERE IS NULL или IS NOT NULL.

В этой статье мы познакомились с функцией MySQL IFNULL и узнали, как использовать ее в запросах.

Перевод статьи «MySQL IFNULL» дружной командой проекта Сайтостроение от А до Я.

О нас seoexpert

продвижение сайта,seo оптимизация,поисковое продвижение,раскрутка сайтов,поисковая оптимизация,продвижение сайта в гугл,seo раскрутка,продвижение сайтов в яндексе,продвижение сайта в google,продвижение сайтов в топ 10,Оптимизация и продвижение сайтов,услуги продвижения сайта,заказать продвижение,продвижение сайтов в топ,сео раскрутка сайта

Смотрите также

Использование простой базы данных SQLite в Android-приложении

В этом руководстве я подробно расскажу о том, как использовать базу данных Android SQLite. Что ...