首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PostgreSQL对Oracle

问PostgreSQL对Oracle
EN

Database Administration用户
提问于 2020-02-06 12:06:18
回答 1查看 627关注 0票数 0

与其说是一个问题,不如说是咆哮,但也许有人会解释为什么PostgreSQL迁移wiki 国家。

浮点数(Oracle)是真实的(Postgres),DOUBLE是双精度的

在PostgreSQL中,DOUBLE PRECISION支持15个有效位数,而在甲骨文中支持DOUBLE 提供38 ?!

对计划将数据迁移到PostgreSQL的人来说,这是一个相当大的遗漏。

EN

回答 1

Database Administration用户

发布于 2020-02-06 16:26:06

这些信息似乎不准确。

Oracle只有三种数字数据类型:

  • NUMBER:二进制编码的小数。慢慢来但很精确。
  • BINARY_FLOAT:IEEE单精度浮点数。速度快而且不精确。
  • BINARY_DOUBLE:IEEE双精度浮点数。速度快而且不太精确。

您可以在甲骨文中使用INTEGER、DOUBLE PRECISION、REAL和FLOAT,就像SQL标准所要求的那样,但是您总是会得到一个NUMBER (FLOAT是NUMBER,只有二进制而不是十进制数字)。

PostgreSQL有更多的数字数据类型:

  • numeric (或decimal,这只是另一个名字):二进制编码的小数。准确,但很慢。这相当于甲骨文的NUMBER。
  • real (或float4):平台的本地单精度浮点数,通常对应于甲骨文的BINARY_FLOAT。
  • double precision (或float8):平台的本机双精度浮点数,通常对应于甲骨文的BINARY_DOUBLE。
  • integer (或int4):甲骨文没有这样的四字节整数。
  • bigint (或int8):8字节整数甲骨文没有这样的东西。
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/259027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档