Sql函数 拆分一个用逗号分隔的字符串

拆分一个用逗号分隔的字符串,(指定位置)
/*
select dbo.GetCheckTab('SortValue1,SortValue3,SortValue8,SortValue9,SortValue10,',5)
*/
create   function  GetCheckTab
(
    
@TbNames      nvarchar ( 500 ),     -- 查询字符串(逗号分隔)
     @Tbi          int          -- 用于监测类别循环(用于@TbNames的循环)
)
returns   nvarchar ( 100 )
as
begin
    
declare   @NowCheckTab   nvarchar ( 200 )     -- 返回表名值
     declare   @DealTbNames   nvarchar ( 200 )     -- 处理后的字符串
     declare   @Start   int          -- 开始截取位置
     declare   @end   int          -- 结束截取位置
     declare   @i      int              -- 循环次数
     set   @i   =   0
    
set   @DealTbNames   =   @TbNames
    
while   @i < @Tbi - 1
    
begin
        
set   @Start   =   charindex ( ' , ' , @DealTbNames ) + 1
        
set   @DealTbNames   =   substring ( @DealTbNames , @Start , len ( @DealTbNames ))
        
set   @i   =   @i + 1
    
end
    
set   @end   =   charindex ( ' , ' , @DealTbNames )
    
set   @NowCheckTab   =   substring ( @DealTbNames , 0 , @end )
    
return   @NowCheckTab
end
执行结果:sortvalue10

转载于:https://www.cnblogs.com/xunfei/archive/2009/07/31/1536095.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值