integer - 雪花 - 整数和 varchar 类型的联合条件导致列的十进制数据类型
问题描述
输入:我们有两个带有 ID 字段的表。在一个表中,该字段具有整数数据类型,在另一个表中是 varchar。而当我们将这些数据与联合/联合所有条件组合时,列的输出数据类型为十进制。
你对这种类型的选择有什么解释吗?也许您知道预测输出数据类型的任何其他规则?
要重现此行为,您可以使用以下脚本:
select typeof(ID)
from (
SELECT '12345'::integer ID
UNION ALL
SELECT '12345'::varchar ID
) as lt;
解决方案
推荐阅读
- python-3.x - 如何将带有前导零的数据从 Pandas 导出到 CSV,在 csv 中保留前导零
- laravel - SSL 不适用于 Laravel 应用程序,只有第一页加载了 https
- swift - UITabBar.appearance().backgroundColor = 不能快速工作
- intellij-idea - InteliJ 的想法,禁用 java 的自动构建,而不是 HTML
- ios - iOS中的Websocket连接问题?
- javascript - JavaScript:允许字符之间有空格的正则表达式
- laravel - 更新到背包中的 font awesome 5
- c# - C# ImmutableObject 属性不起作用,仍然可以更改结构值
- javascript - 仅从一个字段中删除星号
- ms-office - 如何在excel中写入偏移量的参考?