В этой статье мы объясним, что такое функция COALESCE в MySQL и как ее можно использовать, с помощью примеров.
Функция COALESCE помогает идентифицировать первое ненулевое значение из заданных данных, и если в выбранной таблице есть какое-либо нулевое значение, она вернет «null». Прежде чем перейти к пониманию примеров, давайте обсудим общий синтаксис COALESCE.
Общий синтаксис:
SELECT COALESCE (value1,value2,.....);
Чтобы понять этот синтаксис функции COALESCE, мы рассмотрим несколько примеров целых чисел.
SELECT COALESCE (1,2,3);
Поскольку нет нулевого значения, он дает первое значение среди сравниваемых значений. Если в значениях сравнения есть первое нулевое значение, тогда функция COALESCE выдаст первое значение, следующее за нулевым значением.
SELECT COALESCE (null,2,3);
Если ноль присутствует во второй позиции, тогда COALESCE должен вернуть ненулевое значение, присутствующее в первой позиции.
SELECT COALESCE (12,null,3);
Если нулевое значение присутствует в третьей позиции, тогда функция COALESCE вернет в качестве результата первое ненулевое значение.
SELECT COALESCE (121,34,null);
Теперь давайте возьмем случай, когда все значения таблицы равны нулю, выполните следующую команду:
SELECT COALESCE (null,null,null);
Из выходных данных было очищено, что если все значения равны нулю, тогда выход будет нулевым. Если мы суммируем результаты приведенных выше примеров, то мы можем сказать, что если есть список чисел, и мы должны брать значения, используя ссылку “null value”, тогда, если нулевое значение присутствует на первой позиции, функция COALESCE вернет первое ненулевое значение после нулевого значения, если нулевое значение присутствует в любой другой позиции, кроме первой, тогда функция COALESCE найдет первое ненулевое значение, которое присутствует в списке чисел, сравниваемых с помощью функции COALESCE, и если все значения равны нулю, функция COALESCE выдаст нулевое значение на выходе.
Рассмотрим таблицу с именем «Student_names» в базе данных, данные которой могут быть отображены.
SELECT * FROM Student_names;
Теперь мы хотим сравнить значения First_name, Middle_name и Last_name с помощью функции COALESCE со ссылкой на нулевое значение и вернуть результат как Name.
SELECT student_id, COALESCE (first_name, middle_name,last_name) as Name FROM Student_names;
В выводе мы видим, что при student_id = 2 пустая запись находится в Middle_name, поэтому взято имя First_name, в student_id = 3 он выбрал Middle_name, потому что нулевое значение находится в First_name, в student_id = 4, он выбирает First_name, поскольку значение NULL находится в Last_name, а в student_id = 5 все значения равны NULL, поэтому он возвращает NULL. Если все значения равны нулю, тогда он может напечатать то, что вы пишете в команде, например, мы хотим напечатать, что если все значения равны нулю, то вывести «No_name_found».
SELECT student_id, COALESCE (first_name, middle_name,last_name,”no_name_found”) as Name FROM Student_names;
Мы можем видеть из вывода, когда все значения равны нулю, он печатает текст, который мы пишем в команде, вместо того, чтобы возвращать нулевое значение.
Запрос COALESCE и IS NULL одинаковы, поскольку они работают с нулевыми значениями. Используя COALESCE, мы можем сравнить более одного столбца, где запрос «IS NULL» применим только к одному столбцу. В этой статье мы объяснили на простых примерах COALESCE, чтобы понять его работу, а затем возьмем пример таблицы, чтобы понять, как функция COALESCE работает с таблицей.
Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!
Спасибо! Ваша заявка принята
Спасибо! Ваша заявка принята