среда, 28 апреля 2010 г.

Пример использования REPLACE в MySQL

Предлагаю вашему вниманию пример использования метода REPLACE в MySQL.

Допустим, есть задача: в определенной таблице заменить в некотором поле символ "&" на "-":
Сложный способ:


  UPDATE `table_name` t1, `table_name` t2
  SET t1.`field_name`= REPLACE(t2.`field_name`, '&', '-')
  WHERE t1.id = t2.id


Так как вся работа происходит в одной таблице, то необходимо использовать механизм алиасов для работы с одной таблицей как с двумя. Важным критерием является условие t1.id = t2.id, так как мы должны изменять одно и то же поле.

Или более простой вариант, который работает когда t1.id = t2.id и лишние проверки можно отбросить:

  UPDATE `table_name`
  SET `field_name`= REPLACE(`field_name`, '&', '-');

Сам механизм замены предельно прост:
  REPLACE(имя поля или просто текст, что меняем, на что меняем)

Простое и удобное решение. Надеюсь кому-то пригодится.