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

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

makis

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

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

Лучше
1. Просвятить одмина
2. Заменять на этапе добавления
3. Чиловой формат полей.
 
А что делать с теми записями, которые на данный момент заполнены неверно?
 
makis
Не выкручиваться, а переделать тип ячейки.

-~{}~ 11.11.07 01:49:

Привести их к нужному виду.
Средствами пхп
или Mysql
Замена - это функции обработки строк.
В обоих случаях
 
Mr_Max
Не надо заставлять русских бухгалтеров использовать точку там, где они привыкли писать запятую.
Не пользователь должен подстраиваться под желания программиста - хороший программист должен написать программу с учетом потребностей пользователя.

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

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


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