Amazon Redshift中的奇数转换行为

时间:2018-11-06 19:24:01

标签: amazon-redshift

这是我在Amazon Redshift上看到的一些奇怪行为的最小示例。这两个查询

select 0.010691::DECIMAL(20,4);
select ('0.010691'::varchar(255))::DECIMAL(20,4);

返回0.0107,这是我期望的。但是

create table test (
  "val" varchar(255)
);
insert into test values ('0.010691');
select val::DECIMAL(20, 4) from test;

返回0.0106,即它在转换而不是转换然后舍入之前被截断。这是预期的行为吗?为什么这些不同?

1 个答案:

答案 0 :(得分:1)

显然,这是预期的行为。在this文档页面中,有一行“但是,从表中选择的值的显式强制转换的结果不会四舍五入。”因此,功能而不是错误。