分类


如何用sql语句实现特定字符之间的字符提取

好久没有写过SQL了,花了一个小时把你的问题解决了,加20分,快! 

CREATE TABLE [#tmp] ( 
[数字] [varchar] (35) COLLATE Chinese_PRC_CI_AS NULL , 
) ON [PRIMARY] 
declare @Len int 
set @Len=1 
declare @hen int 
set @hen=1 
while @hen>0 
begin 
SELECT @hen=CHARINDEX('-', substring('20-45-122-25-1',@Len,Len('20-45-122-25-1' )) ) 

IF @hen=0 AND CHARINDEX('-',REVERSE('20-45-122-25-1'))>1 
BEGIN 

insert into #tmp ([数字]) 
(SELECT REVERSE(SUBSTRING (REVERSE('20-45-122-25-1'),1,CHARINDEX('-',REVERSE('20-45-122-25-1'))))) 
END 
ELSE 
insert into #tmp ([数字]) 
(select substring('20-45-122-25-1',@Len,@hen )) 
--select substring(substring('20-45-122-25-1',@Len,Len('20-45-122-25-1' )),1, @hen+1)) 
set @Len=@Len+@hen 


END 
select REPLACE([数字],'-','') from #tmp 
drop table #tmp 

上一页 下一页




明星导航股票cb