У меня есть MySQL-таблицы с несколькими colomns какAlter MySQL полей таблицы VARCHAR в десятичную поля
id text_1 val_1 text_2 text_3 val_2
1 'bla' 1,23 'blub' 5,67 12,34
К сожалению, все поля определены как varchar
. Теперь я пытаюсь изменить таблицу, чтобы сделать несколько полей десятичными значениями.
Я хотел бы попробовать
UPDATE table SET
val_1 = CAST(val_1 AS DECIMAL(5,2)),
val_2 = CAST(val_2 AS DECIMAL(5,2));
Это должно дать мне десятичные значения с двумя знаками после запятой и максимальным значением 999,99, правильно?
И это правильный способ изменить структуру таблицы? Это должно быть одноразовое преобразование, так как значения должны иметь десятичный тип, а строки должны быть типа varchar.
Должен ли я сначала преобразовать «запятую» в «точку»?
Update
К сожалению, я также значения типа `< 0,01' . Но поле должно быть десятичным полем. Что я могу сделать с этим?
Нет. Кроме того, вам необходимо изменить типы данных, вы также должны изменить свою полную структуру таблицы. Что содержит таблица. Мы могли бы помочь вам сделать лучший дизайн стола. –