TSQL Изменить код телефона с 499 на 495 , можно использовать Case

SELECT * FROM Запрос2
Update Запрос2 Set Контактный телефон =
CASE
WHEN substring(Контактный телефон, 2, 3) = '499' then '495'
END
WHERE substring(Контактный телефон, 2, 3) = '499'

Есть вот такой запрос, но он меняет не только код телефона, а весь номер например у меня было 84995671234 а стало просто 495 как починить???


Ответы (1 шт):

Автор решения: Konst
declare @t table (phone varchar(11))
insert into @t (phone) values ('84995671234'), ('84951171234'), ('84994991234'), (null), ('74991234567'), ('84990');

update @t 
set phone = '8495' + SUBSTRING(phone,5,LEN(phone)-4)
where phone like '8499%';

select * from @t;
→ Ссылка