Вниз
Скачать: 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.026 c
1-1109604044
hgd
2005-02-28 18:20
2005.03.13
Функция playsound


3-1108117514
sashakamap
2005-02-11 13:25
2005.03.13
ADO MAX(....)


4-1107237777
sergeiA
2005-02-01 09:02
2005.03.13
CreateThread-очередной глупый вопрос


1-1109412325
webpauk
2005-02-26 13:05
2005.03.13
Определение имени переменной


1-1109666619
paule
2005-03-01 11:43
2005.03.13
Маска в Edit




   Наверх