请问下大家,下面的这串字母可以用循环吗?把逗号去掉哦
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,,u,v,w,x,y,z
我想要的结果:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,,u,v,w,x,y,z
我想要的结果:
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
set @s='a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z'select @s='select '''+replace(@s,',',''' as col union all select ''')+''''exec (@s)
/**
col
----
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z(26 行受影响)
**/
要是给的也是用逗号隔开的随机字符 但长短不一样:
aghkigftu,okhlllllllhp,fukkkkkmjg,cftvbhjn,cv,oijghfdjjl,lpiojigtd,zxcvbnm,wqertyuiop,mlkhjggffjgffyui,10253,987456321,7414,
我想要的结果:
aghkigftu
okhlllllllhp
fukkkkkmjg
cftvbhjn
cv
oijghfdjjl
l
piojigtd
zxcvbnm
wqertyuiop
mlkhjggffjgffyui
0253
987456321
7414
declare @a varchar(256),@b int,@c varchar(2)
set @a='aghkigftu,okhlllllllhp,fukkkkkmjg,cftvbhjn,cv,oijghfdjjl,lpiojigtd,zxcvbnm,wqertyuiop,mlkhjggffjgffyui,10253,987456321,7414,'
set @b=1
set @c=','
while (@b<=len(@a))
begin set @c= SUBSTRING (@a, @b ,1)
print @c
set @b=@b+1
end我想要的结果是:
aghkigftu
okhlllllllhp
fukkkkkmjg
cftvbhjn
cv
oijghfdjjl
lpiojigtd
zxcvbnm
wqertyuiop
mlkhjggffjgffyui
10253
987456321
7414
set @a='aghkigftu,okhlllllllhp,fukkkkkmjg,cftvbhjn,cv,oijghfdjjl,lpiojigtd,zxcvbnm,wqertyuiop,mlkhjggffjgffyui,10253,987456321,7414,'SELECT b.col
FROM (SELECT col=CAST('<v>'+REPLACE(@a,',','</v><v>')+'</v>' AS XML)) AS a
OUTER APPLY (
SELECT C.value('.','varchar(50)') AS col
FROM a.col.nodes('/v') AS T(C)
) AS b
/*
col
--------------------------------------------------
aghkigftu
okhlllllllhp
fukkkkkmjg
cftvbhjn
cv
oijghfdjjl
lpiojigtd
zxcvbnm
wqertyuiop
mlkhjggffjgffyui
10253
987456321
7414
(14 行受影响)
*/