SQL Server函数实现C# split功能

在SQL Server的字符串函数中,没有类似于C#的split功能的函数,下面这个函数实现了这个功能:

 

ExpandedBlockStart.gif 代码
USE   [ database_name ]
GO
SET  QUOTED_IDENTIFIER  ON
GO
--  =============================================
--
 Author:  阿瑞
--
 Create date: 2008-03-19
--
 Description: split函数
--
 Debug:select * from dbo.Fun_Split('ABC:BC:C:D:E',':') 
--
 =============================================
ALTER   FUNCTION   [ dbo ] . [ Fun_Split ]  
(
 
@SourceSql   varchar ( 8000 ), 
 
@StrSeprate   varchar ( 10 )
)
RETURNS  
@TEMP_Table   TABLE  (a  varchar ( 100 ))
AS
BEGIN
 
DECLARE   @i   int
 
SET   @SourceSql = rtrim ( ltrim ( @SourceSql ))
 
SET   @i = charindex ( @StrSeprate , @SourceSql )
 
WHILE   @i >= 1
 
BEGIN
  
INSERT   @TEMP_Table   VALUES ( left ( @SourceSql , @i - 1 ))
  
SET   @SourceSql = substring ( @SourceSql , @i + 1 , len ( @SourceSql ) - @i )
  
SET   @i = charindex ( @StrSeprate , @SourceSql )
 
END
 
if   @SourceSql <> ' \ '
 
INSERT   @TEMP_Table   values ( @SourceSql )

 
RETURN  
END

 

 

 

调用:select * from dbo.Fun_Split('ABC:BC:C:D:E',':')

结果:

转载于:https://www.cnblogs.com/bynet/archive/2010/03/26/1697055.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值