注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网事

备忘录

 
 
 

日志

 
 

在SQL SERVER中实现Split功能的函数  

2009-11-17 14:21:41|  分类: sql server |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

CREATE FUNCTION dbo.SplitString
(
          @Expression NVARCHAR(4000), --要拆分的字符串
          @Delimiter NVARCHAR(100), --拆分符号
          @n INT --要得到已拆分的返回字符串位置
)
RETURNS NVARCHAR(4000)
AS
BEGIN
DECLARE
@p INT
SET @p = CharIndex(@Delimiter,@Expression)
IF @p > 0
          BEGIN
          SET
@p = @p + Len(@Delimiter) - 1
          END
DECLARE
@i INT
SET @i = 1
WHILE @i < @n
          BEGIN
          SET
@i = @i + 1
          SET @Expression = SubString(@Expression, @p + 1,Len(@Expression) - @p )
          SET @p = CharIndex(@Delimiter,@Expression)
          IF @p > 0
                    BEGIN
                    SET
@p = @p + Len(@Delimiter) - 1
                    END
          ELSE
                    BEGIN
                    BREAK
                    END
END

DECLARE @s NVARCHAR(1000)
IF @p = 0 AND @i = @n
          BEGIN
          SET
@s = @Expression
          END
ELSE
          IF
@i = @n
          BEGIN
          SET
@s = SubString(@Expression, 1,@p - Len(@Delimiter))
          END
RETURN @s
END


使用方法:

DECLARE @string NVARCHAR(50)
SET @string  = '在|SQL SERVER|中实现Split|功能的|函数|'
DECLARE @split NVARCHAR(4)
SET @split = '|'

SELECT dbo.SplitString (@string, @split, 1)   --在
SELECT dbo.SplitString (@string, @split, 2)   --SQL SERVER
SELECT dbo.SplitString (@string, @split, 3)   --中实现Split
SELECT dbo.SplitString (@string, @split, 4)   --功能的
SELECT dbo.SplitString (@string, @split, 5)   --函数
SELECT dbo.SplitString (@string, @split, 6)   --null

  评论这张
 
阅读(127)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018