首頁 > 資料庫 > mysql教程 > 如何在SQL Server 2008 R2中有效拆分字符串?

如何在SQL Server 2008 R2中有效拆分字符串?

Barbara Streisand
發布: 2025-01-25 07:06:09
原創
228 人瀏覽過

高效分割SQL Server 2008 R2中的字串

問題:

使用分隔符號(例如逗號)分割字串是資料處理中的常見需求。但是,許多在更高版本的SQL Server中有效的解決方案並不適用於SQL Server 2008 R2。

解:

對於SQL Server 2008 R2,一個可靠的方法是使用T-SQL建立一個自訂使用者定義函數(UDF)。以下名為dbo.splitstring的UDF可用於依指定分隔符號分割字串:

<code class="language-sql">CREATE FUNCTION dbo.splitstring (@stringToSplit VARCHAR(MAX))
RETURNS @returnList TABLE ([Name] [nvarchar](500))
AS
BEGIN
    DECLARE @name NVARCHAR(255)
    DECLARE @pos INT

    WHILE CHARINDEX(',', @stringToSplit) > 0
    BEGIN
        SELECT @pos = CHARINDEX(',', @stringToSplit)
        SELECT @name = SUBSTRING(@stringToSplit, 1, @pos - 1)

        INSERT INTO @returnList
        SELECT @name

        SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos + 1, LEN(@stringToSplit) - @pos)
    END

    INSERT INTO @returnList
    SELECT @stringToSplit

    RETURN
END</code>
登入後複製

要使用此UDF,只需將要分割的字串作為參數傳遞,如下所示:

<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789')</code>
登入後複製

這將傳回一個表,其中包含原始字串的各個組成部分,以逗號分隔。

How to Efficiently Split Strings in SQL Server 2008 R2?

以上是如何在SQL Server 2008 R2中有效拆分字符串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板