2017-02-22 6 views
0

Мне нужно удалить данные из столбца, который начинается и заканчивается конкретным текстом.SQL-запрос для удаления текста внутри ячейки, которая начинается и заканчивается конкретным текстом

У меня есть 800 записей, данные между текстом, который я хочу удалить, отличаются во всех 800 записях.

Например:
Этот дом большой/ш/ш ссылка IMG SRC house.png/уш

Я хочу, чтобы удалить все между/ш/ш и/ш.

Как бы написать этот запрос?

+0

ли вы имеете в виду вы хотите обновить столбец? – GurV

+0

Будьте предельно ясны. Что вы говорите больше похоже на «ОБНОВЛЕНИЕ»? И было бы хорошо, если бы вы могли привести пример – Krishnakumar

+0

. Я действительно хочу удалить текст или данные между/br/br и/br в примере выше. Мои извинения, кажется, вы читали вопрос, когда я редактировал. Я хочу удалить упомянутый текст, не будучи уверенным, что это обновление. – user1667057

ответ

2

попробовать что-то вроде этого:

update t 
set s = concat (
     substr(s, 1, locate('/br/br', s) + 5), 
     substr(s, length(s) - locate('rb/', reverse(s)) - 1) 
     ) 
where s like '%/br/br%br%'; 

Используется locate найти индекс точки, чтобы найти подстроки, а затем использовать CONCAT присоединиться желаемые части вместе.

Он удаляет все между первым и последним /br/br/br