TSQL Поменять код телефона с +7499 на +7495 (вместо +7 может быть другой код) н
Проект таблицы
Код преподавателя int
Фамилия nchar(50)
Имя nchar(50)
Отчество nchar(50)
Стоимость часа decimal(18, 0)
Контактный телефон nvarchar(20)
Образование nchar(50)
Так же есть код который меняет 495 на 499
SELECT *
, result = IIF(SUBSTRING(Контактный_телефон,2,3)='499', STUFF(Контактный_телефон,2,3,'495'), Контактный телефон)
FROM Запрос2;
Ответы (1 шт):
Автор решения: Yitzhak Khabinsky
→ Ссылка
Это похоже на повторяющийся вопрос: TSQL Задание на выборку поменять код телефона в таблице с 499 на 495
SQL
-- DDL и образец вставки данных, начало
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'),
('+7499 499-97-18');
-- DDL и образец вставки данных, конец
SELECT *
, result = IIF(SUBSTRING(phone, 2 + pos, 3)='499', STUFF(phone, 2 + pos, 3, '495'), phone)
FROM @tbl
CROSS APPLY (SELECT IIF(LEFT(phone,1)='+',1,0)) AS t(pos);
Результат
+----+-----------------+-----------------+
| 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 |
| 4 | +7499 499-97-18 | +7495 499-97-18 |
+----+-----------------+-----------------+