loading..
Русский    English
11:58
листать

Функция STRING_SPLIT

Функция STRING_SPLIT выполняет операцию, обратную STRING_AGG. Она принимает на входе символьную строку и разбивает её на подстроки по заданному вторым параметром разделителю. Эти подстроки формируют значения унарной таблицы. К единственному столбцу этой таблицы можно обратиться по имени value.

  1. SELECT * FROM STRING_SPLIT('0 1 2 3 4 5 6 7 8 9',' ');

value
0
1
2
3
4
5
6
7
8
9

Фактически функция STRING_SPLIT играет роль нестандартного конструктора одностолбцовой  таблицы. Стандартная альтернатива выглядит так:

Консоль
Выполнить
  1. SELECT * FROM (VALUES(0),(1),(2),(3),(4),(5),(6),(7),(8),(9)) X(value);

Больший интерес представляет случай, когда на вход функции передается значение столбца некоторой таблицы.

Пусть, например, нам требуется разбить многословные названия кораблей в таблице Ships на отдельные слова. Тогда можно выполнить следующий запрос:

  1. SELECT name, value FROM Ships CROSS APPLY STRING_SPLIT(name,' ')
  2. WHERE name LIKE '% %';

name    value
New Jersey    New
New Jersey    Jersey
North Carolina    North
North Carolina    Carolina
Royal Oak    Royal
Royal Oak    Oak
Royal Sovereign    Royal
Royal Sovereign    Sovereign
South Dakota    South
South Dakota    Dakota


Bookmark and Share
Тэги:
ALL AND AUTO_INCREMENT AVG battles CASE CAST CHAR CHARINDEX CHECK classes COALESCE CONSTRAINT Convert COUNT CROSS APPLY CTE DATEADD DATEDIFF DATENAME DATEPART DATETIME DDL DEFAULT DELETE DISTINCT DML EXCEPT EXISTS EXTRACT FOREIGN KEY FROM FULL JOIN GROUP BY Guadalcanal HAVING IDENTITY IN INFORMATION_SCHEMA INNER JOIN insert INTERSECT IS NOT NULL IS NULL ISNULL laptop LEFT LEFT OUTER JOIN LEN maker Больше тэгов
Учебник обновлялся
месяц назад
обмен с wechat . Ампельная клубника: уход и выращивание в домашних условиях
©SQL-EX,2008 [Развитие] [Связь] [О проекте] [Ссылки] [Team]
Перепечатка материалов сайта возможна только с разрешения автора.