字串拆分
Version >= SQL Server 2016
使用字元分隔符拆分字串表示式。請注意,STRING_SPLIT()
是一個表值函式,因此必須在 FROM
子句中使用。
引數:
- 字串。任何字元型別表示式(
char
,nchar
,varchar
或nvarchar
) - 分隔符。任何型別的單個字元表示式(
char(1)
,nchar(1)
,varchar(1)
或nvarchar(1)
)。
返回單個列表,其中每行包含字串的片段。列的名稱是 value
,如果任何引數是 nchar
或 nvarchar
,則資料型別為 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 的文章以正確的方式分割字串 - 或者是對其中一些進行全面比較的下一個最佳方式 。