如何解决ORACLE NUMBER(*,0) 在 POSTGRESQL 中等效
我在 ORACLE 中有一个表,其中一列的数据类型为 NUMBER(*,0)
。根据我的理解,这意味着精度将为 38,因为这是精度的最大限制,而小数位数将为 0,这意味着小数点后不允许有数字,即会存储整数?
我有一个要求,我必须在 PostgreSQL 中创建相同的表。是否可以在 PostgreSQL 中编写 NUMERIC(*,0)
?如果不是,那么 PostgreSQL 相当于 NUMBER(*,0
) 什么?
解决方法
在 oracle 中的数字(精度、小数位数)
number(precision,scale)
numeric (precision,scale)
precision = 如果未指定精度,则列存储给定值
scale = 如果未指定比例,则比例为零
在sql,postgresql
numeric(precision,scale)
precision = 最大长度为 38,sql 中默认值为 18
,Postgres 支持任意精度的数值。 Oracle <body>
<canvas id="myChart"></canvas>
<script src="https://cdn.jsdelivr.net/npm/chart.js@3.2.0/dist/chart.min.js"></script>
</body>
类型的精度高达 38 位。所以,类型:
number
确实是:
number(*,0)
Postgres 中的等价物是:
number(38,0)
或:
numeric(38)
然而,Postgres supports ridiculously large precisions and scales。因此,如果您指定: 数字
您将能够表示您一生中可能遇到或需要的任何数字。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。