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

╰此情可待成追忆

当没有阳光时,我自己便是阳光,当没有快乐时,我自己便是快乐

 
 
 

日志

 
 

Sql中split方法实现  

2011-07-22 11:20:28|  分类: sql |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
本文转载自烟花凋零《Sql中split方法实现》
--支持分割符多字节  --使用方法   --select * from dbo.split('abc-def-ghi-jkl','-')     --select * from dbo.split('abc----def----ghi----jkl','----')       ALTER FUNCTION [dbo].[split](@Long_str varchar(8000),@split_str varchar(100))     RETURNS  @tmp TABLE(             ID int IDENTITY PRIMARY KEY,           short_str varchar(8000)     )     AS    BEGIN        DECLARE @long_str_Tmp varchar(8000),    @short_str varchar(8000),    @split_str_length int          SET @split_str_length = LEN(@split_str)           IF CHARINDEX(@split_str,@Long_str)=1           SET @long_str_Tmp=SUBSTRING(@Long_str,      @split_str_length+1,      LEN(@Long_str)-@split_str_length)       ELSE          SET @long_str_Tmp=@Long_str       IF CHARINDEX(REVERSE(@split_str),REVERSE(@long_str_Tmp))>1             SET @long_str_Tmp=@long_str_Tmp+@split_str         ELSE            SET @long_str_Tmp=@long_str_Tmp           WHILE CHARINDEX(@split_str,@long_str_Tmp)>0             BEGIN                SET @short_str=SUBSTRING(@long_str_Tmp,1,      CHARINDEX(@split_str,@long_str_Tmp)-1)                 DECLARE @long_str_Tmp_LEN INT,@split_str_Position_END int                SET @long_str_Tmp_LEN = LEN(@long_str_Tmp)                 SET @split_str_Position_END = LEN(@short_str)+@split_str_length                 SET @long_str_Tmp=REVERSE(SUBSTRING(REVERSE(@long_str_Tmp),1,      @long_str_Tmp_LEN-@split_str_Position_END))             IF @short_str<>'' INSERT INTO @tmp SELECT @short_str             END        RETURN      END
  评论这张
 
阅读(366)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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