Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Firebird, Interbase > Не могу преобразовать NUMERIC в INTEGER


Автор: ksili 14.3.2008, 12:09
Есть поле, в котором хранится сумма денег в формате NUMERIC(15,2), то есть рубли и копейки, два знака после запятой. Надо создать в этой же таблице поле типа INTEGER, где будет та же сумма, но в копейках, т.е. умноженная на 100. Создать-то - создал, а вот заполнить его не могу.
Попробовал
Код

update T_USERS set SUMMA_OST_KOP = cast( SUMMA_OST*100 as integer)

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

Желательно бы всё это сделать в рамках одного скрипта или ХП, без привлечения внешних средств

Автор: Deniz 14.3.2008, 12:31
А вот так:
Код
update T_USERS set SUMMA_OST_KOP = cast((SUMMA_OST*100) as integer)

У меня прошло на FB 1.5.4

Автор: ksili 14.3.2008, 13:47
Точно, скобочек не хватало. Спасибо

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)