|
|
|
| В БД есть столбец только с цифрами.
Сейчас его тип текстовый, но хочется его сделать числовым.
Данные: только положительные числа от 0 до максимум 999999. Также это может быть значение с запятой. Например, 15,6. Количесвто знаков после запятой - 1.
Вопросы:
1. Какой лучше поставить тип данных. (double, float ...)?
2. Насколько я поняла данные будут храниться/выводиться с точкой, а мне нужен вывод с запятой. Это возможно?
3. Сейчас в этом столбце (текст) есть значения целые и дробные. Причем, некоторые дробные с точкой, а некоторые с запятой. Что будет, если я просто поменяю тип столбца, не "испортяться" ли данные?
4. Каким запросом можно поменять все точки на запятые в уже внесенных в БД данных.
Спасибо. :) | |
|
|
|
|
|
|
|
для: Gandzas
(19.11.2006 в 03:13)
| | 1. Если у вас лишь один знак после запятой, то лучше использовать DECIMAL
2. Формат числа можно будет менять при выводе, например, средствами PHP
3. Скорее всего испортится, лучше всё привести сначала к точке (в любом случае все запросы лучше сначала проверить на копии таблицы).
4. Здесь лучше воспользовать встроенной функцией REPLACE
UPDATE tbl SET field = REPLACE(field, '.', ',')
|
| |
|
|
|
|
|
|
|
для: cheops
(19.11.2006 в 12:14)
| | Спасибо! | |
|
|
|
|
|
|
|
для: Gandzas
(19.11.2006 в 03:13)
| | Если Вы хотите делать какие-то арифметические операции с этими величинами или даже просто сравнивать их, то хранить придется с точкой, а не с запятой.
При выводе в HTML точку на запятую можно и поменять.
echo str_replace('.', ',', "$value");
|
| |
|
|
|
|
|
|
|
для: Trianon
(19.11.2006 в 14:55)
| | Пока не хочу. Но, как показывает практика, лучше сразу использовать все возможности MySQL, даже если они не нужны, чем потом переделывать :) Спасибо. Сейчас разберусь с регулярными выражениями и побегу пробовать :) | |
|
|
|