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

Работа с нулем в FB 1.5   Найти похожие ветки 

 
}|{yk ©   (2005-02-15 17:31) [0]

Вобщем, есть такое поле
CHAR(4) CHARACTER SET WIN1251
COMPUTED BY (case  WHEN free_cash>0 then "free"  WHEN free_cash=0 then "full"  when free_cash<0 then "over" end)

Заполняется оно триггером при изменении в дочерней таблице
Но в это поле иногда попадает не 0, что-то вроде 1,234*Е-13, или наоборот -2,34*Е-13. Как бы это сделать правильно?
Не предлагать хранить все в копейках.


 
Johnmen ©   (2005-02-15 17:42) [1]

Осталось выяснить тип поля free_cash и диалект БД...


 
msguns ©   (2005-02-15 17:43) [2]

У этого поля есть 3 состояния: положительное, отрицательное и нуль. Почему бы его не сделать Int и держать там 1,0 или -1 соответственно ?


 
Дмитрий В. Белькевич   (2005-02-15 17:46) [3]

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


 
}|{yk ©   (2005-02-15 17:48) [4]

можно. Но уже сделано, менять не хочу.
3 диалект, тип DOUBLE PRECISION
Можно использовать round из к.-л. библиотеки, но как-то не хочется


 
Johnmen ©   (2005-02-15 17:51) [5]

Либо всё-таки поменять на интегер, что соответствует логиге,
либо бороться со своей принципиальной ошибкой, напр.
WHEN CAST(free_cash AS INTEGER)>0 then



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

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



Память: 0.46 MB
Время: 0.023 c
3-1108122773
denis24
2005-02-11 14:52
2005.03.13
проблема с firebird


14-1108996615
Soft
2005-02-21 17:36
2005.03.13
Скажи Microsoft НЕТ!


3-1107933130
Scorpio
2005-02-09 10:12
2005.03.13
ADOTable - ошибка при подключении


6-1104767036
volser
2005-01-03 18:43
2005.03.13
Filter-hook Driver


1-1109343095
Ученик
2005-02-25 17:51
2005.03.13
Системы счисления + дробные числа




   Наверх