字串拆分
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 的文章以正確的方式分割字串 - 或者是對其中一些進行全面比較的下一個最佳方式 。