定义:sql
STRING_SPLIT()函数根据指定的分隔符将字符串拆分为子字符串行。数据库
※STRING_SPLIT 要求兼容性级别至少为 130。 (即SSMS 2016及以上版本)函数
※级别低于 130 时,SQL Server 找不到 STRING_SPLIT 函数。学习
※若要更改数据库的兼容性级别,请参阅查看或更改数据库的兼容性级别。测试
语法:spa
STRING_SPLIT ( string , separator )code
参数:server
string:任何字符类型(例如 nvarchar、varchar、nchar 或 char)的表达式。blog
separator:任何字符类型(例如 nvarchar(1)、varchar(1)、nchar(1) 或 char(1))的单字符表达式,用做串联子字符串的分隔符。排序
返回值:
返回子字符串的单列的表(table)。 该列名为“value”。 若是任何输入参数为 nvarchar 或 nchar,则返回 nvarchar。 不然,返回 varchar。 返回类型的长度与字符串参数的长度相同。
输出行能够按任意顺序排列。 顺序不保证与输入字符串中的子字符串顺序匹配。 能够经过在 SELECT 语句中使用 ORDER BY 子句覆盖最终排序顺序 (ORDER BY value
)。
当输入字符串包含两个或多个连续出现的分隔符字符时,将出现长度为零的空子字符串。 空子字符串的处理方式与普通子字符串相同。 能够经过使用 WHERE 子句筛选出包含空的子字符串的任何行 (WHERE value <> ''
)。 若是输入字符串为 NULL,则 STRING_SPLIT 表值函数返回一个空表。
例:
SELECT value FROM string_split('hello world',' ')
结果:
value |
hello |
world |
参考原文地址:https://docs.microsoft.com/zh-cn/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017
声明:本文是本人查阅网上及书籍等各类资料,再加上本身的实际测试总结而来,仅供学习交流用,请勿使用于商业用途,任何由此产生的法律版权问题概不负责,谢谢。