Как уже упоминалось в моем комментарии, вы можете сделать это с REGEXP_REPLACE, предполагая, что ваш комментарий относится к MariaDB вместо mysql более правильно.
Итак, учитывая ваш пример, я напишу следующее утверждение:
UPDATE table_name SET field = REGEXP_REPLACE(description , '\bpass:\w{4}', 'pass:****') WHERE field LIKE '%123456789%';
Если вы не знакомы с регулярным выражением, то, что это делает в основном:
- поиск слова, которое начинается с «pass:», а затем имеет четыре дополнительных символа после него в границе слова.
- замените найденные строки на «pass: ****»
Слово в регулярных выражениях - кстати. то, что содержит alphanumeri c и символы подчеркивания. Допустимыми являются, например, «This_is_1_word», «Word», «123153».
Так что мой пример будет работать только с паролями, которые содержат только упомянутые алфавитные символы c и символы подчеркивания.
Чтобы удовлетворить любые потребности, вам необходимо указать, какие символы разрешены для пароля. Я мог бы адаптировать данное регулярное выражение на основе ваших спецификаций