Пытаясь понять это поведение
CREATE TABLE tab (x DECIMAL(10,0), y DECIMAL(10,0))
INSERT INTO tab VALUES(1, 3)
select x / y from tab
вернет 0,3333 .... до 11 десятичных знаков в соответствии с правилами в документах Redshift .
Что я не понимаю, так это то, что: если я делю на литерал, приведенный к тому же типу (x / 3::decimal(10,0)
), я получаю ровно 4 десятичных знака (0.3333
)
Как получить более точный контроль точности / масштаба результата, кроме записи коэффициента сначала в таблицу или хуже, используя float
?