sql 用于解析分隔字符串并返回表的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 用于解析分隔字符串并返回表的函数相关的知识,希望对你有一定的参考价值。

CREATE FUNCTION fnParseString (@string NVARCHAR(MAX),@separator NCHAR(1))
RETURNS @parsedString TABLE (string NVARCHAR(MAX))
AS 
BEGIN
   DECLARE @position int
   SET @position = 1
   SET @string = @string + @separator
   WHILE charindex(@separator,@string,@position) <> 0
      BEGIN
         INSERT into @parsedString
         SELECT substring(@string, @position, charindex(@separator,@string,@position) - @position)
         SET @position = charindex(@separator,@string,@position) + 1
      END
     RETURN
END
 --declare a table where the parsed values can be stored
 DECLARE @ParsedStringTable TABLE
 (
    --set a column named "Source"
    Source varchar(20)
 )
 

INSERT INTO @ParsedStringTable
    -- pass delimited string and delimter into function (CKI+FEE+IHS, '+')
    -- Select the string table returned from the function (line 2)
    SELECT string FROM dbo.fnParseString (@DelimitedStringParameter , ''+'')'

以上是关于sql 用于解析分隔字符串并返回表的函数的主要内容,如果未能解决你的问题,请参考以下文章

Oracle函数

perl函数操作符解析

如何在 PL/SQL 中解析逗号分隔的字符串? [复制]

使用 T-SQL,从字符串中返回第 n 个分隔元素

Oracle 函数

sql业务分割