日期:2014-05-19  浏览次数:20510 次

如何取得一串字符中的數值呢
罰款200元
因打人罰款300元

怎麼在用SQL語句取得200和300

------解决方案--------------------
declare @s varchar(20)
declare @i varchar(20)
set @i= ' '
set @s= '罰款200元 '
while PATINDEX ( '%[0-9]% ', @s)> 0
begin
set @i=@i+substring(@s,PATINDEX ( '%[0-9]% ', @s),1)
set @s=stuff(@s,1,PATINDEX ( '%[0-9]% ', @s), ' ')
end
select @i
--
200
------解决方案--------------------
declare @a table(id int identity(1,1),a varchar(100))
insert @a select '罰款200元 '
union all select '因打人罰款300元 '


select left(right(a,len(a)-patindex( '%[0-9]% ',a)+1),len(right(a,len(a)-patindex( '%[0-9]% ',a)+1))-1) from @a