SQL Server用户自定义函数:Split
2007-11-11 10:49:52 来源:WEB开发网核心提示:大家都知道在VBScript里面有一个很方便的函数:split,但是在sql server(WINDOWS平台上强大的数据库平台)里面却没有这样的函数,SQL Server用户自定义函数:Split,今天我因某个应用的需要,顺手写了一个,或者把数据类型作为一个参数让用户输入,随便写写,说明:1、这个函数是直接用&quo
大家都知道在VBScript里面有一个很方便的函数:split。但是在sql server(WINDOWS平台上强大的数据库平台)里面却没有这样的函数。今天我因某个应用的需要,顺手写了一个。
说明:
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
End
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接