在 Sql Server 2016 中拆分字符串
在 **SQL Server 2016 中,**他们最终引入了 Split 字符串函数: 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))<>''