Что делает функция SQL CONCAT?

Работа с базами данных постоянно связана с получением результатов запросов. И в некоторых случаях эту информацию необходимо вывести на экран определённым образом или объединить с другими данными. Для решения этой проблемы существует функция SQL – CONCAT.

Что делает функция CONCAT?

При выполнении некоторых работ с базами данных, возникает потребность в соединении строк с дополнительными данными или между собой. Для решения такой задачи существует функция SQL – CONCAT. При её использовании две или более строк будут объединены в одну. При этом операция конкатенации строк будет правильно произведена как при работе со строками, так и с численными переменными.

В некоторых базах данных SQL CONCAT имеет несколько разновидностей. Так, в MySQL она имеет свой аналог – CONCAT_WS. Различие между функциями несущественны: в случае работы первой, при объединении с аргументом, значение которого равно NULL, результатом конкатенации будет NULL, а при использовании второго варианта объединения нулевой операнд будет просто пропущен.

Синтаксис функции

При использовании функции CONCAT, SQL-синтаксис обязывает программиста использовать аргументы в том порядке, в каком операнды должны быть соединены. Сам синтаксис операции конкатенации строк довольно простой: после ключевого слова CONCAT в скобках через запятую указываются все необходимые аргументы или строки по порядку, а после закрывающейся скобки, в случае необходимости, указывается ключевое слово AS и имя переменной, куда будет записан полученный результат. Шаблон функции CONCAT выглядит следующим образом:

CONCAT (строка1, строка2 [, строка 3, ...]) [AS имя_переменной].

Стоит отметить, что в качестве аргументов функции может использоваться как операнд численного и строкового значения, так и некоторая функция, возвращающая результат. Например, сама операция SQL CONCAT. Таким образом, операция поддерживает принцип вложенности.

Как обойтись без использования CONCAT?

В случае когда есть необходимость обойтись без использования операции, или программисту неизвестна функция CONCAT, SQL предлагает ещё один вариант осуществления конкатенации строк. Для этого необходимо воспользоваться оператором "+", однако такой подход имеет ряд особенностей, которые необходимо учитывать при работе с ним.

При использовании функции "+" в случае, если операндами являются числовые значения, результатом операции будет обыкновенное сложение чисел, а при необходимости объединить число со строкой без явного преобразования программа выдаст ошибку. Так, при выполнении следующего запроса результатом будет значение числа "6":

SELECT 1+2+3.

В остальном оба способа идентичны и возвращают одинаковый результат.

Комментарии