SQL中字符串根据分隔符,返回多列

/*------------------------------------------------------------  
*创建人:   Cynosure
*描述:    根据分隔符“,”,返回两列  
------------------------------------------------------------*/  

CREATE   FUNCTION [dbo].[f_splitcol](@c   varchar(8000),@c1 varchar(8000),@split   varchar(2))   
  RETURNS   @t   table(col   varchar(1000),col1 varchar(1000))   
  as   
    BEGIN   
    
      WHILE(charindex(@split,@c)<>0)   
        BEGIN   
          INSERT   @t(col,col1)   VALUES   (substring(@c,1,charindex(@split,@c)-1),substring(@c1,1,charindex(@split,@c1)-1))   
          SET   @c   =   stuff(@c,1,charindex(@split,@c),'') 
          SET   @c1  =   stuff(@c1,1,charindex(@split,@c1),'') 
        END   
      INSERT   @t(col,col1)   VALUES   (@c,@c1)   
      RETURN   
    END   
一个字符串的分割:
CREATE function [dbo].[split]
(
  @SourceSql varchar(8000),
  @StrSeprate varchar(10)
)
returns @temp table(col varchar(100))
AS
BEGIN
  declare @i int
   set @SourceSql=rtrim(ltrim(@SourceSql))
   set @i=charindex(@StrSeprate,@SourceSql)
   while @i>=1
   begin
     insert @temp values(left(@SourceSql,@i-1))
     set @SourceSql=substring(@SourceSql,@i+1,len(@SourceSql)-@i)
     set @i=charindex(@StrSeprate,@SourceSql)
   end
   if @SourceSql<>''
     insert @temp values(@SourceSql)
   return
END

 

 

转载于:https://www.cnblogs.com/Cynosure/archive/2012/04/09/2439162.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值