Замена запятой на точку при запросе к БД

makis

Новичок
Замена запятой на точку при запросе к БД

Доброго времени суток.
У меня такой вопрос. Есть таблица в БД. В ней хранятся технические характеристики товров (мощность, сила тока, вольтаж, габроитные размеры и т.п.). Тип этих ячеек varchar. Админ сайта, будучи не очень просвещённым в добавлении контента, кидает туда как числа вида a,bb так и a.bb. Т.е. целое число, потом точка или запятая (что ему в голову придёт) и десятичная часть. Мне нужно сделать выборку из БД и сравнивать эти технические х-ки с числами, введёнными пользователем. Т.е. это будет подобие расширенного поиска товаров по его характеристикам.
Если пользоваться кодом типа:
PHP:
$sql = "SELECT id FROM table WHERE col0 = '$value1' AND col1 > '$value2'";
то начнутся проблемы из-за того, что числа с разделителем-запятой неверно будут восприниматься. Нужно, чтоб там была точка.
Можно ли как-то при запросе средстами MySQL преобразовать значения col1, col2 и т.д. таким образом, чтоб запятая заменялась на точку в момент сравнения этих чисел?
Спасибо за внимание.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Числа нужно хранить в числовом формате.
 

makis

Новичок
Хех, да это мне понятно. Но контент забивал не я. Теперь нужно выкручиваться из этой ситуации.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
чтоб запятая заменялась
Можно, но не нужно.

Лучше
1. Просвятить одмина
2. Заменять на этапе добавления
3. Чиловой формат полей.
 

makis

Новичок
А что делать с теми записями, которые на данный момент заполнены неверно?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
makis
Не выкручиваться, а переделать тип ячейки.

-~{}~ 11.11.07 01:49:

Привести их к нужному виду.
Средствами пхп
или Mysql
Замена - это функции обработки строк.
В обоих случаях
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
Mr_Max
Не надо заставлять русских бухгалтеров использовать точку там, где они привыкли писать запятую.
Не пользователь должен подстраиваться под желания программиста - хороший программист должен написать программу с учетом потребностей пользователя.

Я бы написал бы конвертацию запятой на точку для денежного поля в случае, если после запятой стоит менее 3х символов и подтверждение после внесения данных.
Впринципе, преобразование запятой на точку можно написать на JS и повесить обработчиком на onmodify.

А старые данные надо сохранить в backup и преобразовать.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
grigori
Не пользователь должен подстраиваться под желания программиста - хороший программист должен написать программу с учетом потребностей пользователя.
2. Заменять на этапе добавления
А старые данные надо сохранить в backup и преобразовать.
3. Чиловой формат полей.

и преобразовывать знак разделения не ради того, что кому-то более привычны точки или запятые, а потому, чтоб число после разделителя нормально сохранилось.
 
Сверху