mysql и preg_replace

  • Автор темы Автор темы ReMaRk
  • Дата начала Дата начала

ReMaRk

Новичок
mysql и preg_replace

а есть ли в mysql что-то типа preg_replace как на php? чтоб можно было результат изменить раньше чем он попадет к клиенту...
 
если имелось ввиду regexp то он всего лишь возвращает true или false...
 
в качестве конкретики мне нужно выдрать число из символьного поля, где поле в виде "от 167 руб." (вместо руб. может быть $ и евро)
 
ага...
1) зачем в текстовом поле хранить число
2) вытаскивай в php и там производи свои операции
3) если поле нужно заведи рядом еще одно и пиши туда свое число
 
есть таблица с ~ 60000 записями (товаров) (структуру менять нельзя)
из нее необходимо выдрать данные по стоимости, но без учета точности цены и валюты... как это можно сделать?
 
поставить мускул 4 и написать процедуру которая бы стрингами выдирала :)
 
или прогнать все это дело пхп скриптом один раз, сконвертив в человеческую структуру...:)
 
to chira:
да меня интересует можно ли это делать средствами SQL

to InventOR^ULG:
процедуры писать не умею (но это не значит, что не стану делать, всегда есть чему учиться и я этому не противник)

to fixxxer:
каждую неделю эта таблица обновляется и структуру менять нельзя... и каждую неделю нужно обрабатывать цены соответственно
 
может, лучше конвертить на этапе этого самого еженедельного обновления, чем выделывать финты ушами при каждом селекте?
 
InventOR^ULG, если ты имеешь ввиду UDF функции - то они и в 3.23 есть, а если хранимые процедуры, то их в 4.х нет и не будет.
 
Originally posted by ReMaRk
то есть средствами mysql это никак не сделать?
Сделать конечно можно, но не нужно. В мускуле достаточно строковых функций по этому вырезать ими нужную строку, можно, но гораздо проще порезать все регами на ПХП
 
а если нужно... ведь можно =)
а если можно то как? комбинированием функций?
 
Originally posted by ReMaRk
а если нужно... ведь можно =)
а если можно то как? комбинированием функций?
А если нужно то флаг тебе в руки, документацию на строковые функции тебе дали в самом первом ответе.
 
Сверху