最终,他们在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))<>''