2015-01-06 2 views
0

разделителем У меня есть унаследованный БД MySQL с большим количеством данных барахла, как:удаления подстроки внутри колонны между двумя

<span class="editContent" data-key="services_pan6" >EDIT</span>'> My real text </span> 

и я должен удалить специальные тег, оставаясь только "Моим реальным текстом.

Но я не могу найти для этого решения. Может кто-нибудь мне помочь?

+0

Как вы можете определить реальный текст? Почему ваш пример имеет '' дважды? –

+0

Это скопированный текст из базы данных. ключ данных различен в каждой записи, а текст, в котором я нуждаюсь, находится между двумя символами «>» << –

+1

. Решением может быть создание сценария php (или другого языка) для анализа всех данных и извлечения вашего значения с регулярным выражением и обновить целевую строку. – ceadreak

ответ

0

Ну вот (очень, слишком много) грязный решение, которое может помочь вам экспортировать реальный текст, который нужно из базы данных:

ВЫБОР TRIM («'>» FROM TRIM („“ ОТ SUBSTRING (field_name, LOCATE ("", field_name), LOCATE ("", field_name, 2)))) FROM table_name;

Просто замените «table_name» и «field_name».

0

вы можете определить функцию:

CREATE FUNCTION strSplit(x varchar(255), delim varchar(12), pos int) returns varchar(255) 
return replace(substring(substring_index(x, delim, pos), length(substring_index(x, delim, pos - 1)) + 1), delim, ''); 

, а затем использовать его, чтобы разделить вашу строку, пока не достигнете нужного текста.
, например:

select strSplit("a#b", '#',1) as first; -> aaa 
select strSplit("aaa,b,cc,d", ',', 2) as second; -> b 
Смежные вопросы