设为首页 加入收藏

TOP

自定义SQL中的SplitString函数
2014-11-24 01:41:58 来源: 作者: 【 】 浏览:3
Tags:定义 SQL SplitString 函数

自定义SQL中的SplitString函数
SQL Server中貌似没有Split函数,不能实现将某个字符串按照某个特定的字符分隔,在这里,提供一个自定义SQL函数,实现Split功能,当然,返回数组是不可能滴,你懂的...
www.2cto.com
/******************************************************************************
** 功能:将指定的字符串按照指定的分隔符分割,返回指定索引的子字符串
** 作者:Danny,Li (xing.dong.li@163.com)
*******************************************************************************
** 返回值列表
****************************
** 返回值 涵义
** ------- ------------------------------------------------------
** @Result 指定索引的子字符串(索引从0开始)
**
*******************************************************************************/
CREATE FUNCTION dbo.fun_SplitString
(
@Expression VARCHAR(8000), -- 欲处理的字符串
@SplitChar CHAR(1), -- 分隔符
@Index INT -- 取值索引
)
Returns varchar(255)
AS www.2cto.com
BEGIN
DECLARE @Result varchar(255),@TempIndex INT,@Temp INT,@Idx INT
SET @TempIndex = 0
SET @Idx = 0
WHILE @TempIndex>=0
BEGIN
SET @Temp = CHARINDEX(@SplitChar,@Expression,@TempIndex)
IF @TempIndex=0
SET @Result = SUBSTRING(@Expression,0,@Temp)
ELSE IF @TempIndex<@Temp
SET @Result = SUBSTRING(@Expression,@TempIndex,@Temp-@TempIndex)
ELSE
SET @Result = SUBSTRING(@Expression,@TempIndex,LEN(@Expression)-@TempIndex+1)
IF @Temp < @TempIndex
SET @TempIndex = -1
ELSE
SET @TempIndex = @Temp+1
IF @Idx=@Index
SET @TempIndex = -1
ELSE www.2cto.com
BEGIN
SET @Idx = @Idx+1
SET @Result = ''
END
END
RETURN @Result
END
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇快速入门SQL定义存储过程 下一篇SQL Server存储过程简单手记

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: