Вниз
Скачать: 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.024 c
3-1108030742
BPK
2005-02-10 13:19
2005.03.13
TDataSet.Locate не работает по сортированному DataSet


1-1109446045
Bogdan
2005-02-26 22:27
2005.03.13
Почему нету файла?


1-1109231329
SergeyKU
2005-02-24 10:48
2005.03.13
Запуск любых приложений из-под Делфи


3-1108026505
Brain Force
2005-02-10 12:08
2005.03.13
Получение результатов выполнения запроса в список


1-1109503092
Denya
2005-02-27 14:18
2005.03.13
OnResize




   Наверх