京东11.11大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Oracle 迁移到 PostgreSQL

2024-12-27 16:32| 发布者: zhaojun917| 查看: 94| 评论: 0

摘要: 前言:因为公司技术调整,数据库需要从oracle替换为PostgreSQL,替换后很多地方需要对应调整,在此记录方便自己和大家避坑。数据类型对比项 Oracle PostgreSQL大文本 clob text数字 NUMBER NUMERIC可变长字符 VARCHA ...
 前言:因为公司技术调整,数据库需要从oracle替换为PostgreSQL,替换后很多地方需要对应调整,在此记录方便自己和大家避坑。
数据类型
对比项 Oracle PostgreSQL
大文本 clob text
数字 NUMBER NUMERIC
可变长字符 VARCHAR2 VARCHAR
函数
对比项 Oracle PostgreSQL
行号 rownum row_number() over(order by …) as rownum
取一行 rownum = 1 limit 1 【注意排序】
null时赋值 nvl() coalesce()
转换为时间类型 to_date() to_timestamp()
字符串分隔 split() regexp_split_to_table()
子字符串所在位置查询【从1开始】 instr(String,subString) strpos(String,subString)
三元表达式 decode() case … when … then … when … then …else …end
树形查询 start with … priority … WITH RECURSIVE a AS ( select xx,1 as level from table1 where id = ‘123’ union all select d.xx,a.level +1 from table1 d join a on d.pid = a.id) select * from a
存储过程
对比项 Oracle PostgreSQL
当前时间 SYSDATE LOCALTIMESTAMP or CURRENT_TIMESTAMP
递增序列并返回新值 seq_xxx.nextval nextval(‘seq_xxx’)
存储过程调用存储过程 proc_xxx(…) call proc_xxx(…)
退出游标循环 EXIT WHEN v_cursor%notfound; EXIT WHEN not found;
更多:

PostgreSQL 13.1 中文手册
Oracle表数据迁移到PostgreSQL数据库工具
PostgreSQL常用操作(持续更新)
Oracle数据库常用操作笔记(持续更新)

关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )

GMT+8, 2025-2-22 02:22 , Processed in 0.027867 second(s), 17 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部