Coalesce SQL: Combining Data Made Easy
COALESCE в SQL является функцией, которая позволяет выбрать первое непустое значение из списка значений или NULL, если все переданные значения являются NULL.
Синтаксис функции COALESCE:
COALESCE (value1, value2, ..., valueN)
Она принимает один или несколько аргументов и возвращает первое непустое значение. Если все аргументы NULL, то возвращается NULL.
Пример использования функции COALESCE:
SELECT COALESCE(NULL, 1, 2, 'text');
Результат: 1
SELECT COALESCE(NULL, NULL, NULL, 'text');
Результат: 'text'
Также можно использовать функцию COALESCE для выбора значения из столбца таблицы, который может содержать NULL:
SELECT COALESCE(column1, column2, column3) AS 'Result'
FROM myTable;
Здесь мы используем COALESCE для выбора первого непустого значения из столбцов column1, column2 и column3.
Вот пример кода, который демонстрирует использование функции COALESCE:
CREATE TABLE myTable (
id INT PRIMARY KEY,
name VARCHAR(50) NULL,
age INT NULL,
email VARCHAR(50) NULL
);
INSERT INTO myTable (id, name, age, email)
VALUES
(1, 'John', NULL, 'john@example.com'),
(2, 'Mary', 30, NULL),
(3, NULL, 25, 'jane@example.com'),
(4, 'David', 40, 'david@example.com');
SELECT id, COALESCE(name, 'N/A'), COALESCE(age, 'N/A'), COALESCE(email, 'N/A')
FROM myTable;
Здесь мы используем COALESCE для замены NULL-значений в столбцах таблицы на 'N/A'. Результат будет выглядеть так:
id | name | age | email
----|------|-----|--------------------
1 | John | N/A | john@example.com
2 | Mary | 30 | N/A
3 | N/A | 25 | jane@example.com
4 | David| 40 | david@example.com
В результате мы заменили все NULL-значения в столбцах таблицы на 'N/A', используя функцию COALESCE.
В общем, функция COALESCE предлагает удобную возможность работы с NULL-значениями в SQL и позволяет уменьшить количество ошибок в запросах.