logo

MySQL IFNULL()

Този раздел ви помага да научите за функцията MySQL IFNULL(). Функцията IFNULL е част от функцията за контролен поток на MySQL, използвана за обработка на NULL стойности.

Функцията IFNULL приема два израза и ако първият израз е не е нула , той връща първите аргументи. Ако първият израз е нула , връща втория аргумент. Тази функция връща или низова, или числова стойност, в зависимост от контекста, в който се използва.

Синтаксис

Можем да използваме функцията IFNULL със следния синтаксис:

 IFNULL (Expression1, Expression2) 

Връща израз1, когато израз1 не е нула. В противен случай ще върне израз2.

Параметри

Параметър Изискване Описания
Израз 1 Задължително Този израз се използва за проверка дали е NULL или не.
Израз 2 Задължително Ще се върне, когато изразът 1 е NULL.

Поддръжка на MySQL версия

Функцията IFNULL може да поддържа следните версии на MySQL:

  • MySQL 8.0
  • MySQL 5.7
  • MySQL 5.6
  • MySQL 5.5
  • MySQL 5.1
  • MySQL 5.0
  • MySQL 4.1
  • MySQL 4.0

Нека разберем функцията MySQL IFNULL() със следните примери. Можем да използваме функцията IFNULL с ИЗБЕРЕТЕ изявление директно.

Пример 1

 SELECT IFNULL(0,5); 

В горната функция операторът MySQL проверява първия израз. Ако първият израз не е NULL, той ще върне първия израз, който е нула.

Изход:

 0 

Пример 2

 SELECT IFNULL('Hello', 'javaTpoint'); 

Горният оператор MySQL проверява първия израз. Ако първият израз не е NULL, той ще върне първия израз, който е 'Здравейте' стойност.

Изход:

 Hello 

Пример 3

 SELECT IFNULL(NULL,5); 

Следният оператор MySQL проверява първия израз. Ако първият израз не е NULL, той ще върне първия израз. В противен случай ще върне втория израз, който е пет (5).

Изход:

 5 

Пример 4

Тук ще създадем таблица 'student_contacts' и изпълнява функцията IFNULL().

 CREATE TABLE `student_contacts` ( `studentid` int unsigned NOT NULL AUTO_INCREMENT, `contactname` varchar(45) NOT NULL, `cellphone` varchar(20) DEFAULT NULL, `homephone` varchar(20) DEFAULT NULL, ); 

Сега трябва да вмъкнете данни в таблица. След като вмъкнете стойностите в таблицата, изпълнете следната заявка.

 SELECT contactname, cellphone, homephone FROM student_contacts; 

Той ще покаже изхода, който съдържа всички редове и колони. Тук можем да видим, че някои от контактите имат само номер на мобилен телефон или домашен телефон.

MySQL IFNULL

В горния изход ще получим имената на всички контакти за мобилния телефон за времето и домашния телефонен номер е наличен или не. Така че в този случай функцията IFNULL() играе важна роля.

Сега изпълнете следната MySQL заявка. Това изявление връща домашен телефон номер, ако мобилният телефон е NULL.

 SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact; 

Изход:

Когато горният оператор MySQL се изпълни успешно, той ще даде следния резултат.

MySQL IFNULL

Забележка: Трябва да избягвате използването на функцията IFNULL() в клаузата WHERE, защото тази функция намалява производителността на заявката.