RedShift: неожиданное округление значения после применения конструкции case when

В RedShift пробую применить такую трансформацию (то есть для пустых значений проставить нули)

CASE
    WHEN s.files_duration != '' THEN s.files_duration
    ELSE 0.0 
END :: NUMERIC AS files_duration_2

Ожидаю, что для значений, которые содержат значения после точки, значения останутся без округления (как есть), но они почему-то округляются. Не могу понять почему.

Можете подсказать, что я делаю не так?

Спасибо.


Ответы (1 шт):

Автор решения: CrazyElf

"The default scale, if not specified, is 0." Укажите явно при описании NUMERIC(precision, scale) сколько нужно вам знаков после запятой. По умолчанию будет 0 знаков, если написать просто NUMERIC: https://docs.aws.amazon.com/redshift/latest/dg/r_Numeric_types201.html

→ Ссылка