Вниз
Скачать: CL | DM;

MySQL: VarChar -> Decimal   Найти похожие ветки 

 
BigError   (2004-09-10 21:15) [0]

Когда-то, начиная юзать MySQL, сделал глупость по неопытности - создал базу, где Currency хранил как VarChar. Теперь же, надо эти VarChar перевести в Decimal, но при смене типа столбца почему-то теряется из VarChar все, что было после запятой (включая саму запятую).
То есть, например, было VarChar(8)="1234,56", стало Decimal(8,2)=1234

Кто знает, почему так? И, самое главное, как теперь сменить тип столбца, ничего не потеряв?

В базе накопилось несколько тысяч записей, поэтому вариант "выпиши копейки на бумажку, смени тип и впиши ручками" нереален. Да и писать утиль, который сначала все сохранит, сменит тип столбцов, а потом перезапишет их, тоже особо времени нет. Но пока это все, что я придумал за 15 минут размышлений.
Но наверняка есть какой-то другой путь, бескровный.


 
sniknik ©   (2004-09-11 00:00) [1]

смени сначала запятую на точку перед переводом в в новый тип.
должно помочь.


 
Vasis   (2004-09-11 06:48) [2]

Можно экспортнуть таблицу в Excel, там сменить формат ячеек... и обратно импортнуть в таблицу... Благо на такую программу понадобится 2 минуты...


 
Smashich   (2004-09-11 09:22) [3]

добавить столбец. пройтись по всем записям конвертнув в нужный тип и записав в новый столбец. удалить старый



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.027 c
1-1095934991
Дмитрий
2004-09-23 14:23
2004.10.10
Динамический массив


14-1095777825
ISP
2004-09-21 18:43
2004.10.10
Землетрясение в прибалтике...


1-1096159405
Leaner
2004-09-26 04:43
2004.10.10
Ошибка: C0000008 в строке CloseHandle(FHand);


3-1095249551
panov
2004-09-15 15:59
2004.10.10
Корректировка таблицы sysprocesses


3-1095249310
stud
2004-09-15 15:55
2004.10.10
опять обновления ibdataset!




   Наверх