1字符串拆分

  1. ---1字符串拆分
  2. /*
  3.  有字符串1,23,a
  4.  要求按逗号拆分为表
  5.   1
  6.   23
  7.   a
  8. */
  9. --(1)第一种方法(循环截取法)
  10. create function FC_SlpitStr(@Str nvarchar(4000),@Split nvarchar(100))
  11. returns @R table (Col nvarchar(100))
  12. as
  13. begin
  14.     declare @StrLen int
  15.     set @StrLen=len(@Str)
  16.     while charindex(@Split,@StrLen)>0
  17.      begin
  18.       insert into @R values(left(@Str,charindex(@Split,@StrLen)-1))
  19.        set @Str=stuff(@Str,1,charindex(@Split,@StrLen),'')
  20.       end
  21.      insert into @R values(@Str)
  22. return 
  23. end 
  24. --print dbo.FC_SlpitStr('1,23,a',',')
  25. --[database_name.]owner_name.function_name ([argument_expr][,...])
  26. declare @a nvarchar(4000)
  27. set @a='1,23,a'
  28. select dbo.FC_SlpitStr(@a,',')
  29. --(2)动态T-sql语句
  30. declare @S varchar(100)
  31. set @s='1,23,a'
  32. declare @sql varchar(100)
  33. set @sql='select col='''+replace(@S, ',' , ''' union all select ''')+''''
  34. print(@sql)

---1字符串拆分
/*
 有字符串1,23,a
 要求按逗号拆分为表
  1
  23
  a
*/
--(1)第一种方法(循环截取法)
create function FC_SlpitStr(@Str nvarchar(4000),@Split nvarchar(100))
returns @R table (Col nvarchar(100))
as
begin
    declare @StrLen int
    set @StrLen=len(@Str)
    while charindex(@Split,@StrLen)>0
     begin
      insert into @R values(left(@Str,charindex(@Split,@StrLen)-1))
       set @Str=stuff(@Str,1,charindex(@Split,@StrLen),'')
      end
     insert into @R values(@Str)
return
end

declare @a nvarchar(4000)
set @a='1,23,a'
select dbo.FC_SlpitStr(@a,',')
--(2)动态T-sql语句
declare @S varchar(100)
set @s='1,23,a'

declare @sql varchar(100)
set @sql='select col='''+replace(@S, ',' , ''' union all select ''')+''''
print(@sql)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值