declare @aaa varchar(200)
set @aaa='a1234 ab2 xb'declare @k1 varchar(200)
declare @k2 varchar(200)
declare @k3 varchar(200) select @k1,@k2,@k3需要把@aaa里的字段以空格分割
@k1 要= 'a1234'
@k2 要= 'ab2'
@k3 要= 'xb'需要能动态判断有几个空格
如果@aaa='aa'
那就 @k1='aa' @k2 ='' @k3=''
如果 @aaa='a1 lk'
@k1='a1' @k2='lk' @k3=''哪位高手能指点下怎么写sql 谢谢
set @aaa='a1234 ab2 xb'declare @k1 varchar(200)
declare @k2 varchar(200)
declare @k3 varchar(200) select @k1,@k2,@k3需要把@aaa里的字段以空格分割
@k1 要= 'a1234'
@k2 要= 'ab2'
@k3 要= 'xb'需要能动态判断有几个空格
如果@aaa='aa'
那就 @k1='aa' @k2 ='' @k3=''
如果 @aaa='a1 lk'
@k1='a1' @k2='lk' @k3=''哪位高手能指点下怎么写sql 谢谢
set @aaa='a1234 ab2 xb'SELECT LEN(@AAA)-LEN(REPLACE(@AAA,' ',''))
set @aaa='a1234 ab2 xb'declare @k1 varchar(20)
declare @k2 varchar(20)
declare @k3 varchar(20)
declare @k4 varchar(20)
select
@k1 = parsename(replace(@aaa,' ' , '.'),4),
@k2 = parsename(replace(@aaa,' ' , '.'),3),
@k3 = parsename(replace(@aaa,' ' , '.'),2),
@k4 = parsename(replace(@aaa,' ' , '.'),1)print @k1
print @k2
print @k3
print @k4/*
a1234
ab2
xb*/
declare @aaa varchar(200)
set @aaa='a1234 ab2 xb'declare @j int;set @j=1
while(@j<=len(@aaa)-len(replace(@aaa,' ',''))+1)
begin
select PARSENAME(replace(@aaa,' ','.'),cast(@j as varchar(10)))
set @j=@j+1
end
declare @strText varchar(100),
@strResule varchar(300)
set @strText = ' 12345 12 123 '
set @strResule = replace(replace(@strText, ' ', ', '''','), ',,', ',')
select @strResule = case when left(@strResule, 1) = ',' then right(@strResule, len(@strResule) - 1) else @strResule end
select @strResule = 'select ' + case when right(@strResule, 1) = ',' then left(@strResule, len(@strResule) - 1) else @strResule end
exec(@strResule)