Microsoft SQL Server 在Sql Server 2016中拆分字符串

示例

最终,他们在SQL Server 2016中引入了Split string函数:STRING_SPLIT

参数:接受两个参数

字串

是任何字符类型(即nvarchar,varchar,nchar或char)的表达式。

分隔符

是任何字符类型(例如nvarchar(1),varchar(1),nchar(1)或char(1))的单个字符表达式,用作串联字符串的分隔符。

注意:您应始终检查表达式是否为非空字符串。

示例

Select Value
From STRING_SPLIT('a|b|c','|')

在上面的例子中

String    : 'a|b|c'
separator : '|'

结果:

+-----+
|Value|
+-----+
|a    |
+-----+
|b    |
+-----+
|c    |
+-----+

如果是空字符串:

SELECT value
FROM STRING_SPLIT('',',')

结果:

  +-----+
  |Value|
  +-----+
1 |     |
  +-----+

您可以通过添加一个WHERE子句来避免上述情况

SELECT value
FROM STRING_SPLIT('',',')
WHERE LTRIM(RTRIM(value))<>''