当前位置: 首页 > news >正文

PostgreSQL 与 Oracle 数据库字段类型的详细对比

一、数值类型对比

数据类型OraclePostgreSQL说明
整数NUMBER(p,0)SMALLINT/INT/BIGINTOracle 统一用 NUMBER,PG 区分精度范围
浮点数BINARY_FLOATREAL单精度浮点
双精度浮点BINARY_DOUBLEDOUBLE PRECISION双精度浮点
高精度小数NUMBER(p,s)NUMERIC(p,s)精确数值存储
自增序列SEQUENCE + TRIGGERSERIAL/BIGSERIALPG 内置自增类型

二、字符串类型对比

数据类型OraclePostgreSQL说明
定长字符串CHAR(n)CHAR(n)固定长度
变长字符串VARCHAR2(n)VARCHAR(n)Oracle 允许省略 FROM,PG 必须写 FROM
大文本CLOBTEXT无长度限制
二进制数据BLOB/RAWBYTEA二进制存储

三、日期时间类型对比

数据类型OraclePostgreSQL关键差异
日期+时间DATETIMESTAMP(0)Oracle 的 DATE 包含时间(到秒),PG 的 DATE 仅日期
高精度时间戳TIMESTAMPTIMESTAMP均支持纳秒级精度
带时区时间戳TIMESTAMP WITH TIME ZONETIMESTAMPTZ时区处理逻辑相同
本地时区时间戳TIMESTAMP WITH LOCAL TIME ZONE无直接等价,需转换Oracle 特有类型
时间间隔INTERVAL DAY TO SECONDINTERVAL功能类似

四、其他类型

类型OraclePostgreSQL说明
布尔值无原生类型BOOLEANPG 支持原生布尔
行标识符ROWIDOID物理行地址标识
JSONJSON (12c+)JSON/JSONBPG 的 JSONB 支持二进制存储和索引

五、使用注意事项

  1. 类型转换

    • Oracle 的 NUMBER(10) 建议转为 PG 的 INT,而非 NUMERIC
    • Oracle 的 VARCHAR2 迁移时直接映射为 PG 的 VARCHAR
  2. 语法差异

    • PG 的子查询必须有别名,Oracle 可不写。
    • 分页查询:Oracle 用 ROWNUM,PG 用 LIMIT/OFFSET
  3. 时区处理

    • 带时区类型存储时,两者均转换为 UTC,但检索时 PG 按会话时区转换,Oracle 按数据库时区转换。
http://www.dtcms.com/a/305768.html

相关文章:

  • CSS 工作原理
  • Qt知识点2『Ubuntu24.04.2安装Qt5.12.9各种报错』
  • git报failed to connect to github.com port 443 after 21064
  • 项目文档太多、太混乱怎么解决
  • Qt 在 ARM 平台上的移植与优化
  • 中国高铁从追赶到领跑的破壁之路
  • 15.11 单卡训练770M参数模型!DeepSpeed ZeRO-3实战:RTX 4090显存直降6.8GB
  • 接口自动化测试
  • 深入剖析 StarRocks 与 Hive 的区别、使用场景及协同方案实践
  • 【IDEA】JavaWeb自定义servlet模板
  • 手机定位和IP属地究竟有何不同
  • 【Lambda】flatMap使用案例
  • Redis 面试全解析:从数据结构到集群架构(含实战解决方案)
  • 《Java 程序设计》第 10 章 - 接口与 Lambda 表达式
  • #C语言——学习攻略:深挖指针路线(四续)——函数指针数组--转移表
  • 【支持Ubuntu22】Ambari3.0.0+Bigtop3.2.0——Step4—时间同步(Chrony)
  • 从0开始学习R语言--Day62--RE插补
  • STL学习(?、常用的算数算法和集合算法)
  • 跳跃表可视化深度解析:动态演示数据结构核心原理
  • 数据结构第3问:什么是线性表?
  • 数据结构-Set集合(一)Set集合介绍、优缺点
  • 基于 Rust 和土木工程、设备故障诊断、混凝土养护、GPS追踪、供应链物流跟踪系统、地下水监测等领域的实例
  • CouchDB 从入门到精通:构建高效的分布式文档数据库
  • cpp实现音频重采样8k->16k及16k->8k
  • 2025年华为HCIA-AI认证是否值得考?还是直接冲击HCIP?
  • c++函数返回值完整总结
  • GaussDB 数据库架构师(十二) 数据库对象修改审计设置
  • (RedmiBook)上禁用触摸板或自带键盘
  • 【LangGraph技术深度解析】构建下一代AI工作流的革命性框架
  • 数据赋能(358)——数据分析——可解释性原则