字串拆分

Version >= SQL Server 2016

使用字元分隔符拆分字串表示式。請注意,STRING_SPLIT() 是一個表值函式,因此必須在 FROM 子句中使用。

引數:

  1. 字串。任何字元型別表示式(charncharvarcharnvarchar
  2. 分隔符。任何型別的單個字元表示式(char(1)nchar(1)varchar(1)nvarchar(1))。

返回單個列表,其中每行包含字串的片段。列的名稱是 value,如果任何引數是 ncharnvarchar,則資料型別為 nvarchar,否則為 varchar

以下示例使用 space 作為分隔符拆分字串:

SELECT value FROM STRING_SPLIT('Lorem ipsum dolor sit amet.', ' ');

結果:

valueLorem
ipsum
dolor
sit
amet.

備註:

STRING_SPLIT 功能僅在相容級別 130 下可用。如果你的資料庫相容級別低於 130,則 SQL Server 將無法找到並執行 STRING_SPLIT 功能。你可以使用以下命令更改資料庫的相容級別:

ALTER DATABASE [database_name] SET COMPATIBILITY_LEVEL = 130

Version < SQL Server 2016

舊版本的 sql server 沒有內建的拆分字串函式。有許多使用者定義的函式可以處理拆分字串的問題。你可以閱讀 Aaron Bertrand 的文章以正確的方式分割字串 - 或者是對其中一些進行全面比較的下一個最佳方式