首頁 >資料庫 >mysql教程 >如何在 SQL Server 2008 R2 中拆分逗號分隔的字串?

如何在 SQL Server 2008 R2 中拆分逗號分隔的字串?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-25 07:11:08393瀏覽

How to Split Comma-Separated Strings in SQL Server 2008 R2?

在 SQL Server 2008 R2 中高效率解析逗號分隔的字串

在 SQL Server 2008 R2 中使用逗號分隔的字串通常需要將它們拆分為單獨的元素。雖然一些線上解決方案存在不足,但此自訂函數提供了可靠的方法:

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

此函數 dbo.splitstring 以逗號分隔的字串作為輸入,並傳回一個表,其中每行包含一個元素。 使用方法:

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

此查詢將有效地將輸入字串分成其組成部分,為在 SQL Server 2008 R2 中處理逗號分隔資料提供實用的解決方案。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn