Oracle 迁移到 PostgreSQL

ops/2025/2/22 22:50:08/
oraclePostgreSQL_1">前言:因为公司技术调整,数据库需要从oracle替换为PostgreSQL,替换后很多地方需要对应调整,在此记录方便自己和大家避坑。
  • 数据类型
对比项OraclePostgreSQL
大文本clobtext
数字NUMBERNUMERIC
可变长字符VARCHAR2VARCHAR
  • 函数
对比项OraclePostgreSQL
行号rownumrow_number() over(order by …) as rownum
取一行rownum = 1limit 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
  • 存储过程
对比项OraclePostgreSQL
当前时间SYSDATELOCALTIMESTAMP or CURRENT_TIMESTAMP
递增序列并返回新值seq_xxx.nextvalnextval(‘seq_xxx’)
存储过程调用存储过程proc_xxx(…)call proc_xxx(…)
退出游标循环EXIT WHEN v_cursor%notfound;EXIT WHEN not found;

更多:

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

http://www.ppmy.cn/ops/160125.html

相关文章

python-leetcode 32.随机链表的复制

题目: 给定一个长度为n的链表,每个节点包含一个额外增加的随机指针random,该指针可以指向链表中的任何节点或空节点。 构造这个链表的深拷贝。深拷贝应该正好由n个全新节点组成,其中每个新节点的值都设为其对应的原节点的值。新节点的next指…

DeepSeek模型快速部署教程-搭建自己的DeepSeek

前言:在人工智能技术飞速发展的今天,深度学习模型已成为推动各行各业智能化转型的核心驱动力。DeepSeek 作为一款领先的 AI 模型,凭借其高效的性能和灵活的部署方式,受到了广泛关注。无论是自然语言处理、图像识别,还是…

鸿蒙(HarmonyOS)开发学习路线指南:从零到实战

随着鸿蒙生态的快速发展,HarmonyOS 已成为物联网时代的重要开发平台。其分布式架构和“一次开发、多端部署”的理念吸引了大量开发者。本文将从零开始梳理鸿蒙开发的学习路径,帮助开发者高效掌握核心技能。 一、学习路线概览 总目标:掌握鸿蒙…

vue2自定义useVModel函数

父组件&#xff1a; <template> <div>父组件数据名字&#xff1a;<input v-model"person.name">父组件数据年龄&#xff1a;<input v-model"person.age"><son v-model"person"></son> </div> </t…

Pycharm安装教程超详细图文教程,超详细Pycharm安装保姆级教程

文章目录 前言一、环境搭建1. 下载 PyCharm2. 下载 Python3. 安装 Python4. pycharm安装教程 总结 前言 在 Python 编程的广阔天地里&#xff0c;拥有一款强大且称手的集成开发环境&#xff08;IDE&#xff09;至关重要。PyCharm 作为 JetBrains 公司推出的一款专业 Python ID…

【C++】Basic Data Types and Operators

图片由 AI 生成 《C程序设计基础教程》——刘厚泉&#xff0c;李政伟&#xff0c;二零一三年九月版&#xff0c;学习笔记 文章目录 1、基本数据类型&#xff08;Fundamental Types&#xff09;1.1、数据类型的作用1.2、常用的 C 数据类型 2、常量2.1、常量的特点2.2、数值常量…

PySpark检查两个DataFrame的数据是否一致

数据条数比较 可以使用 count() 方法来获取每个DataFrame的行数&#xff0c;若行数不同&#xff0c;则数据肯定不一致。示例代码如下&#xff1a; df1 spark.createDataFrame([(1, a), (2, b)], [id, name]) df2 spark.createDataFrame([(1, a), (2, b), (3, c)], [id, nam…

用户实操:如何以龙蜥操作系统为底座在 CPU 上运行 DeepSeek-R1

编者按&#xff1a;DeepSeek 一经发布&#xff0c;火爆海内外。龙蜥操作系统 Anolis OS 8 凭借其原生 AI 能力&#xff0c;实现了 DeepSeek 的本地化部署&#xff0c;显著降低了在生产环境中部署人工智能技术的门槛&#xff0c;真正使得 AI 技术普惠广大用户。 以下文章转载自…