here is the solution, but i'm sure, there is even more elegant solution:declare @temp table(address varchar(30))insert into @temp values ('High street 34')insert into @temp values ('High London street 32/a')insert into @temp values ('Highlands 23')insert into @temp values ('st. Long 34')insert into @temp values ('st. The Long 34')select address ,case when ((len(rtrim(address)) - len(replace(rtrim(address), ' ', ''))) > 1 and not (address like 'st.%' or address like 'st. The%')) then LTRIM(left(address, 1) + SUBSTRING(address, CHARINDEX(' ', address)+1, 1)) when ((len(rtrim(address)) - len(replace(rtrim(address), ' ', ''))) >= 2 and (address like 'st. The%')) then left(replace(address, 'st. The', ''), 1) + SUBSTRING(replace(address, 'st. The', ''), CHARINDEX(' ', replace(address, 'st. The', ''))+1, 2) when ((len(rtrim(address)) - len(replace(rtrim(address), ' ', ''))) >= 2 and (address like 'st.%')) then left(replace(address, 'st.', ''), 1) + SUBSTRING(replace(address, 'st.', ''), CHARINDEX(' ', replace(address, 'st.', ''))+1, 2) when (len(rtrim(address)) - len(replace(rtrim(address), ' ', ''))) = 1 then left(address, 2) end as initfrom @temp