Как использовать функцию MySQL COALESCE?

Поддерживает ли MySQL материализованные представления База данных

MySQL — это СУБД с концепцией нулевых значений. В MySQL используется функция COALESCE, поскольку она возвращает первое ненулевое значение из указанной серии выражений. Если все значения столбца равны нулю, COALESCE также вернет ноль. Он работает аналогично «запросу IS NULL»; оба имеют дело с значениями NULL, но разница в них обоих заключается в их поведении, запрос «IS NULL» извлекает значения NULL из таблицы, тогда как функция COALESCE дает первое ненулевое значение, если в таблице присутствует какое-либо значение NULL.

В этой статье мы объясним, что такое функция COALESCE в MySQL и как ее можно использовать, с помощью примеров.

Что такое функция 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);

Из выходных данных было очищено, что если все значения равны нулю, тогда выход будет нулевым. Если мы суммируем результаты приведенных выше примеров, то мы можем сказать, что если есть список чисел, и мы должны брать значения, используя ссылку «нулевое значение», тогда, если нулевое значение присутствует на первой позиции, функция 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 работает с таблицей.

Читайте также:  Как импортировать данные в базу данных Oracle?
Оцените статью
bestprogrammer.ru
Добавить комментарий