declare @str varchar(100),@index int set @str='“正确率为65.00%”、“正确率为100.00%”' set @str=@str+'、' while(charindex('、',@str)<>0) begin set @index = len(substring(@str,1,charindex('、',@str)))-7 print substring(@str,6,@index) set @str = stuff(@str,1,charindex('、',@str),'') end /* 65.00% 100.00% */
left()
right()
这几个估计够用吧.select right(7)from xxx
啊啊100.00%aa 如果前后字符串的个数是固定的 从字符串的末尾取 把aa取出来获取长度然后再用总长度 - aa的长度
--65.00%
SELECT PARSENAME((SUBSTRING('正确率为65.00%',PATINDEX('%[0-9]%','正确率为65.00%'),LEN('正确率为65.00%')-PATINDEX('%[0-9]%','正确率为65.00%')+1)),2)
--65
set @str='“正确率为65.00%”、“正确率为100.00%”'
set @str=@str+'、'
while(charindex('、',@str)<>0)
begin
set @index = len(substring(@str,1,charindex('、',@str)))-7
print substring(@str,6,@index)
set @str = stuff(@str,1,charindex('、',@str),'')
end
/*
65.00%
100.00%
*/