首页 > 解决方案 > 雪花 - 整数和 varchar 类型的联合条件导致列的十进制数据类型

问题描述

输入:我们有两个带有 ID 字段的表。在一个表中,该字段具有整数数据类型,在另一个表中是 varchar。而当我们将这些数据与联合/联合所有条件组合时,列的输出数据类型为十进制。

你对这种类型的选择有什么解释吗?也许您知道预测输出数据类型的任何其他规则?

要重现此行为,您可以使用以下脚本:

select typeof(ID)
from (
         SELECT '12345'::integer ID
         UNION ALL
         SELECT '12345'::varchar ID
     ) as lt;

结果

标签: integerdecimalunionvarchar

解决方案


推荐阅读