#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';