select regplace,replace(substring(isnull(regplace,''),1,charindex('-',isnull(regplace,''))),'-','') provinces,
--substring(isnull(regplace,''),charindex('-',isnull(regplace,'')),charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1)),
replace(stuff(regplace,1,charindex('-',regplace),''),case when charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1)>1 then substring(isnull(regplace,''),charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1),len(isnull(regplace,''))) else '' end,'') citys,
replace(isnull(case when charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1)>1 then substring(isnull(regplace,''),charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1),len(isnull(regplace,''))) else '' end,''),'-','') as areas,
charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1),
case when charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1)>1 then substring(isnull(regplace,''),charindex('-',isnull(regplace,''))+1,(charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1)-len(replace(substring(isnull(regplace,''),1,charindex('-',isnull(regplace,''))),'-','')))) else substring(isnull(regplace,''),1,len(isnull(regplace,''))) end as ends,
case when charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1)>1 then substring(isnull(regplace,''),charindex('-',isnull(regplace,''),charindex('-',isnull(regplace,''))+1),len(isnull(regplace,''))) else '' end
from companyinfo