![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с нулем в FB 1.5
}|{yk © (2005-02-15 17:31:00)Вобщем, есть такое поле
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:51:00) [1]Либо всё-таки поменять на интегер, что соответствует логиге,
либо бороться со своей принципиальной ошибкой, напр.
WHEN CAST(free_cash AS INTEGER)>0 then
}|{yk (2005-02-15 17:48:00) [2]можно. Но уже сделано, менять не хочу.
3 диалект, тип DOUBLE PRECISION
Можно использовать round из к.-л. библиотеки, но как-то не хочется
Дмитрий В. Белькевич (2005-02-15 17:46:00) [3]Или в интеджере? Или округлять, перед тем, как заносить в чар?
msguns (2005-02-15 17:43:00) [4]У этого поля есть 3 состояния: положительное, отрицательное и нуль. Почему бы его не сделать Int и держать там 1,0 или -1 соответственно ?
Johnmen (2005-02-15 17:42:00) [5]Осталось выяснить тип поля free_cash и диалект БД...