[
https://issues.apache.org/jira/browse/FLINK-26925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Spongebob closed FLINK-26925.
-----------------------------
Resolution: Not A Problem
> loss scale in union situation
> -----------------------------
>
> Key: FLINK-26925
> URL: https://issues.apache.org/jira/browse/FLINK-26925
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / API
> Reporter: Spongebob
> Priority: Major
>
> when I union two columns that datatypes are decimal(38,4) and decimal(38,2),
> but got decimal(38,2) in return. This cause the problem that loss scale in
> result set. I think the final datatype should be decimal(38,4) would be fine.
> {code:java}
> TableEnvironment tableEnvironment =
> TableEnvironment.create(EnvironmentSettings.newInstance().inBatchMode().build());
> Table t1 = tableEnvironment.sqlQuery("select cast(1.23 as decimal(38,2)) as
> a");
> Table t2 = tableEnvironment.sqlQuery("select cast(4.5678 as decimal(38,4)) as
> a");
> tableEnvironment.createTemporaryView("t1", t1);
> tableEnvironment.createTemporaryView("t2", t2);
> tableEnvironment.executeSql("select a from t1 union all select a from
> t2").print();
> tableEnvironment.sqlQuery("select a from t1 union all select a from
> t2").printSchema();
> // output
> +------------------------------------------+
> | a |
> +------------------------------------------+
> | 1.23 |
> | 4.57 |
> +------------------------------------------+
> 2 rows in set
> (
> `a` DECIMAL(38, 2) NOT NULL
> ){code}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)