Spec-Zone.ru › MariaDB

CONCAT_WS

Синтаксис

CONCAT_WS(separator,str1,str2,...)

Описание

CONCAT_WS() означает «Конкатенация со разделителем» и представляет собой специальную форму CONCAT(). Первый аргумент — это разделитель для остальных аргументов. Разделитель добавляется между строками, которые необходимо конкатенировать. Разделитель может быть строкой, как и остальные аргументы.

Если разделитель — NULL, результат — NULL; все остальные NULL значения пропускаются. Это делает CONCAT_WS() удобным, когда вы хотите конкатенировать некоторые значения и избежать потери всей информации, если одно из них — NULL.

Примеры

SELECT CONCAT_WS(',','First name','Second name','Last Name');
+-------------------------------------------------------+
| CONCAT_WS(',','First name','Second name','Last Name') |
+-------------------------------------------------------+
| First name,Second name,Last Name                      |
+-------------------------------------------------------+

SELECT CONCAT_WS('-','Floor',NULL,'Room');
+------------------------------------+
| CONCAT_WS('-','Floor',NULL,'Room') |
+------------------------------------+
| Floor-Room                         |
+------------------------------------+

В некоторых случаях, не забудьте включить пробел в строку-разделитель:

SET @a = 'gnu', @b = 'penguin', @c = 'sea lion';
Query OK, 0 rows affected (0.00 sec)

SELECT CONCAT_WS(', ', @a, @b, @c);
+-----------------------------+
| CONCAT_WS(', ', @a, @b, @c) |
+-----------------------------+
| gnu, penguin, sea lion      |
+-----------------------------+

Использование CONCAT_WS() для обработки NULL:

SET @a = 'a', @b = NULL, @c = 'c';

SELECT CONCAT_WS('', @a, @b, @c);
+---------------------------+
| CONCAT_WS('', @a, @b, @c) |
+---------------------------+
| ac                        |
+---------------------------+

См. также

  • GROUP_CONCAT()
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется предварительно MariaDB. Мнения, информация и мнения, выраженные в этом контенте, не обязательно отражают мнения MariaDB или любой другой стороны.

© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/concat_ws/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API