当前位置:IT168首页 > 技术开发 > 概述
[收藏此页] [打印] [推荐] [评论]

sql字符串分割

责任编辑:nancy作者:ITPUB论坛   2008-07-07   
文本Tag: 微软 sql

【IT168技术文档】

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go ALTER Function [dbo].[SpliteStringToListByParam]( @strings varchar(max), @sp VARCHAR(10) ) /* 调用示例:SELECT * FROM [SpliteStringToListByParam]('aaa@@@bbb','@@@') */ Returns @ReturnTable Table(idx int IDENTITY(1,1) Primary Key,ID VARCHAR(max)) As BEGIN DECLARE @len INT SET @len=len(@sp)+1 Insert @ReturnTable select substring(c,@len,charindex(@sp,c,@len)-@len) as empno from ( select substring(csv.emps,iter.pos,len(csv.emps)) as c from ( select @sp+@strings+@sp as emps ) csv, ( --select id as pos from t100 --生产1-10000的结果集 Select a + b * 10 +c*100+d*1000+1 as pos From (Select 0 As a Union Select 1 Union Select 2 Union Select 3 Union Select 4 Union Select 5 Union Select 6 Union Select 7 Union Select 8 Union Select 9 ) A, (Select 0 As b Union Select 1 Union Select 2 Union Select 3 Union Select 4 Union Select 5 Union Select 6 Union Select 7 Union Select 8 Union Select 9 ) B, (Select 0 As c Union Select 1 Union Select 2 Union Select 3 Union Select 4 Union Select 5 Union Select 6 Union Select 7 Union Select 8 Union Select 9 ) c, (Select 0 As d Union Select 1 Union Select 2 Union Select 3 Union Select 4 Union Select 5 Union Select 6 Union Select 7 Union Select 8 Union Select 9 ) d ) iter where iter.pos <= len(csv.emps) )x where len(c) > len(@sp) and substring(c,1,len(@sp)) = @sp Return END
上一页
1
下一页
收藏到: 添加到“百度搜藏”添加到“QQ书签”添加到“Google书签”添加到“Yahoo收藏”添加到“和讯网摘”
【内容导航】
本文欢迎转载,转载请注明:转载自IT168 [ http://www.it168.com/ ]
本文链接:http://tech.it168.com/d/2008-07-07/200807071652920.shtml
技术开发相关文章  
  • 暂无
友情推介