TSQL Задание на выборку поменять код телефона в таблице с 499 на 495
Replace не работает как надо , так как если в телефоне будет еще 495 он поменяет и его
Ответы (1 шт):
Автор решения: Yitzhak Khabinsky
→ Ссылка
Так как "Минимальный воспроизводимый пример" не предоставлен, стреляю с бедра.
SQL
-- DDL and sample data population, start
DECLARE @tbl TABLE (ID INT IDENTITY(1,1) PRIMARY KEY, phone VARCHAR(20));
INSERT INTO @tbl (phone) VALUES
('8499 931-97-04'),
('8499 499-97-02'),
('8495 931-97-07');
-- DDL and sample data population, end
SELECT *
, result = IIF(SUBSTRING(phone,2,3)='499', STUFF(phone,2,3,'495'), phone)
FROM @tbl;
Результат
+----+----------------+----------------+
| ID | phone | result |
+----+----------------+----------------+
| 1 | 8499 931-97-04 | 8495 931-97-04 |
| 2 | 8499 499-97-02 | 8495 499-97-02 |
| 3 | 8495 931-97-07 | 8495 931-97-07 |
+----+----------------+----------------+