当列是整数和小数的混合时,创建表时使用哪种数据类型?

Posted

技术标签:

【中文标题】当列是整数和小数的混合时,创建表时使用哪种数据类型?【英文标题】:Which data type to use while creating table when column is a mix of whole numbers as well as decimals? 【发布时间】:2019-09-07 12:47:45 【问题描述】:

我正在在 Redshift 中创建一个表(基于 PostgreSQL),该表的源数据的几列是整数和小数的混合

如果我设置小数(5,5)它会抛出整数错误,如果我设置整数它会抛出小数错误,哪种类型适合两者?

【问题讨论】:

数字(5,5).... decimal 中的第二个数字(刻度)是什么意思?你读过文档吗? Scale 是小数点右侧的小数部分的小数位数。我认为您没有得到我的问题。我想要一个类型来处理同一列的整数和小数类型。 对,所以你需要一个可以同时存储beforeafter小数点的数字的东西。因此,将比例设置为等于精度不会让您这样做,因为它表示所有数字都必须在小数点之后。 知道了,伙计!我错过了非常基本的小数点(i + d,d),并错误地做小数(d,d)。谢谢! 【参考方案1】:

您需要多少位整数才能合理地存储?拨打该号码i

小数点后需要多少位数?拨打该号码d

您现在知道您需要decimal(i+d,d)。但是您需要检查这种组合在文档中是否有效。如果是,那就太好了。如果不是,您需要权衡一些数字才能得到可接受的结果。

【讨论】:

以上是关于当列是整数和小数的混合时,创建表时使用哪种数据类型?的主要内容,如果未能解决你的问题,请参考以下文章

当标题是键和值的混合时,将数据从 json 附加到表

oracle我建表时的数据类型是int,为啥插值的时候小数照样能插不报错?

当列是NTEXT时,SQL Server:IN('asd')不工作

sql server 小数字段设为哪种类型?

SQL命令更新/增加

PySpark:当列是列表时,将列添加到 DataFrame