在 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))<>''