SQL SERVER 字符串函數 STRING_SPLIT()

定義:sql

STRING_SPLIT()函數根據指定的分隔符將字符串拆分爲子字符串行。數據庫

STRING_SPLIT 要求兼容性級別至少爲 130。 (即SSMS 2016及以上版本)函數

級別低於 130 時,SQL Server 找不到 STRING_SPLIT 函數。學習

※若要更改數據庫的兼容性級別,請參閱查看或更改數據庫的兼容性級別測試

語法:spa

STRING_SPLIT ( string , separator )code

參數:server

string:任何字符類型(例如 nvarchar、varchar、nchar 或 char)的表達式。blog

separator:任何字符類型(例如 nvarchar(1)、varchar(1)、nchar(1) 或 char(1))的單字符表達式,用做串聯子字符串的分隔符。排序

返回值:

返回子字符串的單列的表(table)該列名爲「value」。 若是任何輸入參數爲 nvarchar 或 nchar,則返回 nvarchar。 不然,返回 varchar。 返回類型的長度與字符串參數的長度相同。

輸出行能夠按任意順序排列。 順序不保證與輸入字符串中的子字符串順序匹配。 能夠經過在 SELECT 語句中使用 ORDER BY 子句覆蓋最終排序順序 (ORDER BY value)。

當輸入字符串包含兩個或多個連續出現的分隔符字符時,將出現長度爲零的空子字符串。 空子字符串的處理方式與普通子字符串相同。 能夠經過使用 WHERE 子句篩選出包含空的子字符串的任何行 (WHERE value <> '')。 若是輸入字符串爲 NULL,則 STRING_SPLIT 表值函數返回一個空表。

例:

SELECT value FROM string_split('hello world',' ')

結果:

value
hello
world

 

 

 

 

參考原文地址:https://docs.microsoft.com/zh-cn/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017

聲明:本文是本人查閱網上及書籍等各類資料,再加上本身的實際測試總結而來,僅供學習交流用,請勿使用於商業用途,任何由此產生的法律版權問題概不負責,謝謝。

相關文章
相關標籤/搜索