For me requirement is to change .col to com
I want change csherman@us.ibm.con to csherman@us.ibm.com but it is changing to csherman@us.com
I have used below query
with mail as(
select email, SUBSTRING(SUBSTRING(email,CHARINDEX('@',email)+1,LEN(email)),CHARINDEX('.',SUBSTRING(email,CHARINDEX('@',email)+1,LEN(email)))+1,LEN(SUBSTRING(email,CHARINDEX('@',email)+1,LEN(email)))) as Extent from vaild
)
select Extent=(CASE
WHEN Extent in ('coim','comn','.com','col', 'cpm','ocm','oom') THEN replace(email,extent, 'com')
WHEN Extent like '%.cpm' THEN replace(email,extent, 'com')
WHEN Extent like '%com' THEN replace(email,extent, 'com')
WHEN Extent like '%com%' THEN replace(email,extent, 'com')
WHEN Extent like 'com%' THEN replace(email,extent, 'com')
WHEN Extent like 'c_om%' THEN replace(email,extent, 'com')
WHEN Extent like '%c_om%' THEN replace(email,extent, 'com')
WHEN Extent like 'c_m%' THEN replace(email,extent, 'com')
WHEN Extent like 'c_m%' THEN replace(email,extent, 'com')
WHEN Extent like 'cm%' THEN replace(email,extent, 'com')
WHEN Extent like 'co_%' THEN replace(email,extent, 'com')
WHEN Extent like '%co_%' THEN replace(email,extent, 'com')
WHEN Extent like '_om%' THEN replace(email,extent, 'com')
WHEN Extent like '%om%' THEN replace(email,extent, 'com')
else
Extent
end) from mail