日期:2011-05-02 15:22:00 来源:本站整理
SQL Server用户自定义函数:Split[MSSQL防范]
本文“SQL Server用户自定义函数:Split[MSSQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
大家都知道在VBScript里面有一个很便利的函数:split.但是在sql server里面却没有这样的函数.本日我因某个利用的需求,顺手写了一个.
阐明:
1、这个函数是直接用","作为脱离符的.当然你可以把它改成以别的字符为脱离符,大概让用户自己来输入脱离符(把脱离符作为一个参数).
2、这个函数里面,假定要拆分的字符串是由一组整型数加上","构成的.当然这是我在这个利用中的情形.你可以按照需求改成其他数据范例,大概把数据范例作为一个参数让用户输入.
随便写写,没有作太多讲究,等待有心人的改良:)
/****************************************************
* Name: T-SQL Split算法实现(整型)
* Author: Xinsoft
* Create Date: 2004-12-01
* Version: V1.0.00
*****************************************************/
CREATE Function Func_SplitInt
(
@InputStr varchar(250)
)
Returns @Func_SplitInt table
(
val int
)
as
Begin
Declare @str varchar(250)
Declare @substr varchar(250)
Declare @iLen int
Declare @iStart int
set @str=RTrim(Ltrim(@InputStr))
set @iStart=CHARINDEX( ',' , @str )
set @iLen=Len( @str )
IF @iStart>0
Begin
set @substr=substring( @str , 1 , @iStart-1 )
set @str=substring( @str , @iStart+1 , @iLen-@iStart )
End
Else
Begin
set @substr=@str
set @str=''
End
set @substr=RTRIM( LTRIM( @substr ) )
insert @Func_SplitInt select id=cast( @substr as int )
While Len( @str )>0
Begin
---------------- Loop Begin ---------------
set @iStart=CHARINDEX( ',' , @str )
set @iLen=Len( @str )
IF @iStart>0
Begin
set @substr=substring( @str , 1 , @iStart-1 )
set @str=substring( @str , @iStart+1 , @iLen-@iStart )
End
Else
Begin
set @substr=@str
set @str=''
End
set @substr=RTRIM( LTRIM( @substr ) )
insert @Func_SplitInt select id=cast( @substr as int )
---------------- Loop End ----------------
End
Return
E
以上是“SQL Server用户自定义函数:Split[MSSQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论