Заменить часть текста в базе данных sql

Мне нужно заменить части текста, используя следующий запрос:

UPDATE table_name SET field = REPLACE(field, 'old', 'new')

Проблема в том, что запрос должен заменять не «old.jpg» или «oldcar» и т. д., А ТОЛЬКО «old».

Можем ли мы использовать что-то подобное ниже?

WHERE field LIKE 'old'

Вам может понравиться этот ответ stackoverflow.com/a/50984816/1626878

Sahil Mahajan Mj 18.12.2018 11:20

Спасибо, Сахил,

Silvano Ambrosini 18.12.2018 11:27

Какую базу данных, СУБД вы используете?

Joakim Danielson 18.12.2018 11:28

Спасибо, Сахил, мне нужно заменить около 20 000 различных номеров элементов на 20 000 различных ссылок на связанные объекты: я подготовил xlsx с 20 000 запросов, подобных этой UPDATE table SET field = REPLACE (field, «10.300.17», «<a href = \ "link-to-product-10.300.17 / \"> 10.300.17 </a> "); он работает хорошо, но, к сожалению, заменяет также 10.300.17.jpg и так далее.

Silvano Ambrosini 18.12.2018 11:36

это стандартный MySQL innoDB

Silvano Ambrosini 18.12.2018 11:43

Почему нельзя сделать WHERE field = '10.300.17', он не будет соответствовать 10.300.17.jpg? Что мне не хватает?

Joakim Danielson 18.12.2018 13:53

Привет, Йоаким, и спасибо: это (довольно длинное) текстовое поле, и в этом тексте вы можете найти как «10.300.17», так и 10.300.17.jpg ». И я не могу использовать << WHERE field = '10 .300 .17 '>> потому что запрос не находит ничего для замены.

Silvano Ambrosini 20.12.2018 07:14
Замена символа по определенному индексу в JavaScript
Замена символа по определенному индексу в JavaScript
В JavaScript существует несколько способов заменить символ в строке по определенному индексу.
0
7
31
0

Другие вопросы по теме