Ответ 1
Просто используйте substring_index()
дважды:
SELECT substring_index(substring_index(licence_key, 'contract=', -1),
'issued=', 1)
FROM table;
Мне нужна рука для решения проблемы с моим полем столбца. Мне нужно извлечь строку между этими двумя разными "шаблонами" строк, например:
[... string] contract = 1234567890123350566076070666 выпущено = [строка...]
Я хочу извлечь строку между 'contract =' и 'issu ='
В настоящий момент я использую
SELECT substring(substring_index(licence_key,'contract=',-1),1,40) FROM table
Проблема заключается в том, что эта строка между ними не всегда содержит 40 символов, поэтому она не фиксирует длину и, следовательно, данные, которые поступают до и после этого. Это изменчивые данные.
Вы знаете, как я могу справиться с этим?
Просто используйте substring_index()
дважды:
SELECT substring_index(substring_index(licence_key, 'contract=', -1),
'issued=', 1)
FROM table;
Если эта строка не совпадает, дайте общий результат.
Если вы хотите заменить, то вы можете использовать как это.
UPDATE questions set question= REPLACE(question, '<xml></xml>', '') WHERE question like '%<xml>%';
UPDATE questions set question= REPLACE(question, substring_index(substring_index(question, '<xml>', -1), '</xml>', 1), '') WHERE question like '%<xml>%';