SqlServer?oracle?mysql?
---------------
SELECT (CASE WHEN MBLL LIKE '%S%%' ESCAPE 'S' THEN CONVERT(NVARCHAR(100),REPLACE(MBLL,'%','')/100) ELSE MBLL END ) [NEW_] FROM TABLE
---------------
with tablea as (
select '80%' [mbll]
union all
select '76.5%' [mbll]
union all
select '80' [mbll]
union all
select '100' [mbll]
union all
select '>50' [mbll]
union all
select '>80%' [mbll]
union all
select '>0.580%' [mbll]
union all
select '>=0.580%' [mbll]
union all
select '<0.5' [mbll]
)
select *,(CASE WHEN MBLL LIKE '%S%%' ESCAPE 'S' THEN (CASE WHEN PATINDEX('%[0-9]%',mbll)=1 THEN CONVERT(NVARCHAR(100),CONVERT(decimal(20,6),REPLACE(mbll,'%',''))/100) ELSE CONCAT(SUBSTRING(mbll,1,PATINDEX('%[0-9]%',mbll)-1) ,CONVERT(NVARCHAR(100),CONVERT(decimal(20,6),REPLACE(SUBSTRING(mbll,PATINDEX('%[0-9]%',mbll),LEN(mbll)),'%',''))/100)) END) ELSE CONVERT(NVARCHAR(100),MBLL) END ) [NEW]
from tablea
