首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一字符串截取sql语句,

2012-04-12 
求一字符串截取sql语句,在线等。一个字段内容为:SQL codeA,B,C,D,E,F,J,H,I,J,K,L,M,N,O,P,Q,输出结果为:SQ

求一字符串截取sql语句,在线等。
一个字段内容为:

SQL code
A,B,C,D,E,F,J,H,I,J,K,L,M,N,O,P,Q,

输出结果为:
SQL code
A,B,C,<A>D,E,F,<A>J,H,I,<A>M,N,O,<A>P,Q,

能被3整除的逗号后面加个<A>。

[解决办法]
SQL code
declare @a varchar(100),@b varchar(100),@i intselect @a='A,B,C,D,E,F,J,H,I,J,K,L,M,N,O,P,Q,',@b='',@i=0while @i<len(@a)/6begin     set @b=@b+substring(@a,@i*6+1,6)+'<A>'    set @i=@i+1endselect @b=@b+substring(@a,len(@a)/6*6,len(@a)-len(@a)/6*6)select @b/*----------------------------------------------------------------A,B,C,<A>D,E,F,<A>J,H,I,<A>J,K,L,<A>M,N,O,<A>,P,Q(1 行受影响)*/
[解决办法]
SQL code
declare @a varchar(100),@b varchar(100),@c varchar(100),@i intselect @a='A,B,C,D,E,F,J,H,I,J,K,L,M,N,O,P,Q,',@b='',@i=1,@c=@awhile @i<=len(@a)-len(replace(@a,',',''))begin    if(@i%3=0)        set @b = @b + substring(@c,1,charindex(',',@c)-1) + ',<A>'    else        set @b = @b + substring(@c,1,charindex(',',@c)-1) + ','    set @c = substring(@c,charindex(',',@c)+1,len(@c)-charindex(',',@c))    set @i=@i+1endselect @b 

热点排行