@hggy
Хочу понять чего ни понимаю

Как заменить LIKE на SUBSTRING?

Как заменить LIKE на SUBSTRING?
DELETE dbo.Корреспонденция 
  FROM dbo.Корреспонденция 
    INNER JOIN dbo.Отправители ON dbo.Корреспонденция.код_отправителя = Отправители.код_отправителя
  WHERE контактный_телефон LIKE '81_1_______' 
     OR контактный_телефон LIKE '82_2_______'
     OR контактный_телефон LIKE '83_3_______' 
     OR контактный_телефон LIKE '84_4_______'
     OR контактный_телефон LIKE '85_5_______' 
     OR контактный_телефон LIKE '86_6_______' 
     OR контактный_телефон LIKE '87_7_______' 
     OR контактный_телефон LIKE '88_8_______' 
     OR контактный_телефон LIKE '89_9_______' 
     OR контактный_телефон LIKE '80_0_______'
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
DELETE dbo.Корреспонденция 
  FROM dbo.Корреспонденция 
    INNER JOIN dbo.Отправители ON dbo.Корреспонденция.код_отправителя = Отправители.код_отправителя
  WHERE (LEN( контактный_телефон ) = 11 )
    AND (SUBSTRING( контактный_телефон 1, 2 ) IN ( '80', '81', '82', '83', '84', 
                                                   '85', '86', '87', '88', '89' ))
    AND (SUBSTRING( контактный_телефон 2, 1 ) = SUBSTRING( контактный_телефон 4, 1 ))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Я не помню синтаксис MSSQL но может быть как-то так

delete 
  dbo.Корреспонденция 
from 
  dbo.Корреспонденция INNER JOIN dbo.Отправители ON dbo.Корреспонденция.код_отправителя = Отправители.код_отправителя
where 
  контактный_телефон like '8%' and 
  substring(контактный_телефон,2,1) = substring(контактный_телефон,4,1);


UPD: подожди лайкать. Единичку забыл в функции.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы