Надо заменить 2006 на 2007 в записях типа "Сегодня на дворе 2006. УРА!" update set `field`=preg_replace('2006','2007') что сделал неправильно в preg_replace('2006','2007')?
1) чем отличается mysql от PHP? 2) какие операторы для работы со строками есть в mysql и какие в PHP? 3) какие параметры надо передавать функции preg_replace, откуда бы она ни взялась?
а если надо сделать так есть текст "Сейчас стоимост товара 100 руб., если в кредит брать у нас" допустим что мы незнаем что стоимость 100 а надо заменить "стоимост товара 100 руб., если в кредит" на "пробел" как при этом воспользоватся REPLACE ?
field=if(locate('сейчас стоимость',field), concat(left(field,locate('сейчас стоимость',field)+22),substring(field,localte(field,locate('руб',field,locate('сейчас стоимость',field)+22)) ,field) что-то такого типа. синтаксис всех функций тестировать не буду.
можно попробовать так... [sql]set field = concat(substring_index(field, ' ', 1), ' ', substring_index(field, ' ', -3)) where field regexp '^Сейчас стоимост товара [0-9]+ руб\\., если в кредит брать у нас$'[/sql]
а в replace можно регулярки использовать? UPDATE `table` SET `field` = REPLACE(`field`, ' 2006', '2007') что можно использовать вместо REPLACE, что-бы можно было использовать регулярки?