Този раздел ви помага да научите за функцията 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;
Той ще покаже изхода, който съдържа всички редове и колони. Тук можем да видим, че някои от контактите имат само номер на мобилен телефон или домашен телефон.
В горния изход ще получим имената на всички контакти за мобилния телефон за времето и домашния телефонен номер е наличен или не. Така че в този случай функцията IFNULL() играе важна роля.
Сега изпълнете следната MySQL заявка. Това изявление връща домашен телефон номер, ако мобилният телефон е NULL.
SELECT contactname, IFNULL(cellphone, homephone) phone FROM student_contact;
Изход:
Когато горният оператор MySQL се изпълни успешно, той ще даде следния резултат.