zoukankan      html  css  js  c++  java
  • 【转】sqlserver字符串拆分(split)方法汇总

    Java、.net等开发工具具有split功能,最近在Sqlserver中碰到这个需求。

    方法1:动态SQL法

    declare @string varchar(100),@sql varchar(1000)
    set @string='1,2,3,4,5,6,7,8,9,10'
    set @sql='select col='''+ replace(@string,',',''' union all select ''')+''''
    PRINT @sql
    exec (@sql)

    当然,如果您的字符串是'1*2'或者其他格式,只需要在replace函数中修改符号即可。

    --方法2:循环截取法

    CREATE FUNCTION F_SplitSTR(
    @string        varchar(8000),  --待分拆的字符串
    @symbol        varchar(10)     --数据分隔符
    )RETURNS @table TABLE(col varchar(100))
    AS
    BEGIN
        DECLARE @splitlen int
        SET @splitlen=LEN(@symbol)-1
        WHILE CHARINDEX(@symbol,@string)>0
        BEGIN
            INSERT @table VALUES(LEFT(@string,CHARINDEX(@symbol,@string)-1))
            SET @string=STUFF(@string,1,CHARINDEX(@symbol,@string)+@splitlen,'')
        END
        INSERT @table VALUES(@string)
        RETURN
    END
    GO
  • 相关阅读:
    9.17考试
    Something
    tesuto-Mobius
    7.22考试
    填坑...P1546 最短网络 Agri-Net
    P1125 笨小猴
    P2822 组合数问题
    致我们曾经刷过的水题
    Luogu P1186 玛丽卡
    Luogu P1726 上白泽慧音
  • 原文地址:https://www.cnblogs.com/SunnyZhu/p/5761952.html
Copyright © 2011-2022 走看看