Обновите таблицу MYSQL с помощью регулярного выражения .*?

#mysql

Вопрос:

Извините, если вопрос глупый, но я очень плохо разбираюсь в MYSQL и пытаюсь обновить свою таблицу, чтобы очистить и стандартизировать таблицу. Итак, я узнал, как использовать команду ОБНОВЛЕНИЯ, однако я просто хочу проверить, есть ли способ сделать следующее:

ОБНОВИТЬ НАБОР АНАЛИЗОВ Запас = ЗАМЕНИТЬ(Запас, «ETA%», «Распродано»);

В принципе, я хочу, чтобы все строки в моей таблице содержали (или начинались с) ETA и изменили ее на Распроданную. Данные извлекаются с сайтов, поэтому в колонке «Запасы» есть куча дерьма, например «ETA: 19 мая», «ETA: через 5 дней». Я просто хочу изменить все это сразу на «Распродано». Есть ли способ сделать это?

Я также пробовал: ОБНОВИТЬ набор синтаксического анализа Stock = IF(Регулярное ВЫРАЖЕНИЕ акций ‘^ETA’, «Распродано», Акции);

но это не сработало. Есть какие-нибудь предложения? Спасибо!

Ответ №1:

Вы должны добавить условие в предложение where, как показано ниже:

 UPDATE parse SET Stock = 'Sold out' WHERE Stock LIKE '%ETA%';
 

Ответ №2:

Тебе здесь даже не нужно REGEXP :

 UPDATE parse SET Stock = 'Sold out' WHERE INSTR(Stock, 'ETA') > 0;
 

Если бы вы хотели использовать REGEXP , вы могли бы использовать:

 UPDATE parse SET Stock = 'Sold out' WHERE Stock REGEXP 'ETA';