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