MySQL 切换 Oracle 问题整理
MySQL 通常小写,Oracle 默认大写 ,查询过程中需加双引号,或者直接将MySQL 字段转换成大写
Springboot 配置 oracle连接
spring:
datasource:
url: jdbc:oracle:thin:@1127.0.0.1:1521:chdb
username: root
password: root
driver-class-name: oracle.jdbc.driver.OracleDriver
设置 oracle insert 为 null
mybatis:
configuration:
jdbc-type-for-null: 'null'
行转列。例: 将字符串 1,2,3 转为数组。涉及中文乱码问题,需用 TO_CHAR
SELECT
(
SELECT
listagg ( TO_CHAR( "role_name" ), ',' ) within GROUP ( ORDER BY "id" ) AS "roleName"
FROM
"t_role"
WHERE
"id" IN (
SELECT
REGEXP_SUBSTR( "role_id", '[^,]+', 1, ROWNUM )
FROM
"t_user" CONNECT BY ROWNUM <= LENGTH( "role_id" ) - LENGTH( regexp_replace( "role_id", ',', '' ) ) + 1
)
) "name"
FROM
"t_user"
Oracle 取第一条数据,mysql是 limit 1
SELECT
*
FROM
"t_multi_report"
WHERE
"report_year" = 2022
AND ROWNUM = 1
Oracle mybatis 批量添加
insert into "t_org_related_prod"
("pid", "reg_code", "orignal_org", "orignal_org_name", "product_name", "product_reg_no")
<foreach collection="list" item="item" separator="UNION ALL">
SELECT #{item.pid}, #{item.regCode}, #{item.orignalOrg},
#{item.orignalOrgName}, #{item.productName},#{item.productRegNo}
FROM dual
</foreach>
ORA-00904: "ORIGNAL_ORG": 标识符无效
1、字段如果是小写,需加双引号
2、在mybatis 里 sql 结尾不能加分号 ;
建表添加主键
CREATE TABLE TEST (
ID NUMBER ( 32 ) NOT NULL,
constraint PK primary key ( ID ) -- 主键名称需唯一 ,PK 为主键名称
)
给字段添加注解
COMMENT ON COLUMN TEST.ID IS '主键主键';
ORA-02264: 名称已被一现有约束条件占用
建表添加主键时,主键名称需唯一
Oracle group by 分组排序 取 第一个
根据 report_org_code 分组,pid 排序 ,first_value 函数 取第一个
SELECT DISTINCT first_value("pid") over(partition by "report_org_code" order by "pid" DESC) as "pid" from "t_multi_hi_report"
Oracle group by 分组求和
SELECT DISTINCT "pid" ,SUM("base_capital_balance" ) over(partition by "report_id") "base_capital_balance" from "t_multi_hi_report"
修改 CLOB 类型
需要先删除,在添加,直接修改失败
ORA-00918: 未明确定义列
查询存在重复字段
获取当前时间
MySQL 是 now()
Oracle SELECT SYSDATE FROM dual
Oracle实现 group_concat
SELECT
LISTAGG ( TO_CHAR( RELATED_NAME ), ',' ) WITHIN GROUP ( ORDER BY PID ) AS NAME
FROM
T_MULTI_RELATED_TRANS_TGT
WHERE
TRANS_NUM = 'Q1000120230208145539181261960'
AND IS_DELETED = 'N'
Oracle实现 group by 部分字段
SELECT U.PID,
U.REGCODE,
U.ORG_NAME,
ROW_NUMBER() over (PARTITION BY U.UNISC_CODE ORDER BY U.CREATE_TIME) ROW_NUM
FROM UAC_ORG_MAIN U
MySQL 切换 Oracle 问题整理的更多相关文章
- springboot + mybatis 支持oracle和mysql切换含源码
1.springboot 启动类加入bean 如下 // DatabaseIdProvider元素主要是为了支持不同的数据库@Beanpublic DatabaseIdProvider getData ...
- Oracle与mysql的字段类型整理
Oralce的字段类型整理如下: Mysql的字段类型整理如下: 最后面一栏是对应JAVA的基本类型.希望对初学者有用,初学者在学习JAVA的时候,不知道怎么把JAVA的对象指向到ORALCE或者MY ...
- 【无私分享:ASP.NET CORE 项目实战(第十二章)】添加对SqlServer、MySql、Oracle的支持
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 增加对多数据库的支持,并不是意味着同时对多种数据库操作,当然,后面,我们会尝试同时对多种数据库操作,这可能需要多个上下文,暂且 ...
- Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver
此文主要讲述在初学 Java 时,常用的三种数据库 MySQL.Oracle.sqlserver 连接的源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源 ...
- <转>MySql 与Oracle区别
http://blog.sina.com.cn/s/blog_61e034d50100k6xn.html 近期突击学习了mysql,应杨毅的邀请,简单比较一下mysql和oracle的差别,不当之处欢 ...
- MySQL,Oracle,PostgreSQL 数据库web维护客户端管理工具
TreeDMS数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL 等数据库进行维护管理操作. 功能包 ...
- MySQL,Oracle,PostgreSQL通过web方式管理维护, 提高开发及运维效率
在开发及项目运维中,对数据库的操作大家目前都是使用客户端工具进行操作,例如MySQL的客户端工具navicat,Oracle的客户端工具 PL/SQL Developer, MSSQL的客户端工具查询 ...
- MySQL,Oracle,PostgreSQL,mongoDB,Hive, SAP HANA 数据库web维护客户端管理工具
TreeDMS数据库管理系统使用JAVA开发,采用稳定通用的springMVC +JDBC架构,实现基于WEB方式对 MySQL,Oracle,PostgreSQL,mongoDB ,Hive, SA ...
- 使用动态跟踪技术SystemTap监控MySQL、Oracle性能
[IT168 技术]本文根据吕海波2018年5月11日在[第九届中国数据库技术大会]上的演讲内容整理而成. 讲师介绍: 吕海波,美创科技研究员,ITPUB管理版版主.出版技术书籍<Oracle内 ...
- (转)Mysql数据库主从心得整理
Mysql数据库主从心得整理 原文:http://blog.sae.sina.com.cn/archives/4666 管理mysql主从有2年多了,管理过200多组mysql主从,几乎涉及到各个版本 ...
随机推荐
- Java maven反应堆构建学习实践
Java maven反应堆构建学习实践 实践环境 Apache Maven 3.0.5 (Red Hat 3.0.5-17) 应用示例 示例项目结构 maven示例项目组织结构如下 maven-stu ...
- for循环以及常用的遍历(迭代)用法
for循环以及常用的遍历(迭代)用法 概念:(概念才是高楼的地基!) for循环是一个计次循环,一般运用在循环次数已知的情况下.通常适用于枚举或遍历序列,以及迭代序列中的元素. 注意*:迭代变量用 ...
- CCF 有趣的数
问题描述: 试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1 ...
- vue中的<script setup>与<script>
<script setup>是在vue3.2之后新增的语法糖,简化了API的写法 1.声明的变量无需return,可以直接在模板中使用,实现了顶层的绑定 2.引入组件会自动注册,无需再使用 ...
- 【HTML】hr标签 分割线 自定义样式
参考: https://blog.csdn.net/weixin_40716682/article/details/90064473 默认是有边框线的 删除边框线,设置高度和背景色即可 backgro ...
- 【IDEA】创建Maven工程
当前工程,点new - project 选Maven,不需要点选什么骨架创建,骨架创建要下载大量依赖,生成时间太长, 空Maven的目的是让我们自己了解这个项目结构,需要什么依赖再加什么依赖 框线内的 ...
- 【Vue】Re02 指令:第一部分
一.v-once指令 用于固定一次性赋值,后续Vue实例的赋值更改将不再对v-once指令的元素有效 <!DOCTYPE html> <html lang="en" ...
- 【Vue】03 Slot 插槽 & 自定义事件
顾名思义就是一个槽,可以嵌入各种各样的东西 Vue的插槽就是一个slot标签,可以在这个定义了插槽的组件中插入其他的组件 但是有一点很重要:使用插槽的组件必须要用div标签一个根标签包裹,否则无效 & ...
- Jax框架:通过显存分析判断操作是否进行jit编译
相关: https://jax.readthedocs.io/en/latest/device_memory_profiling.html 代码: import jax import jax.nump ...
- 实体类如何"不费力气"的转为Map
初衷: db返回了一个实体类,想封装成一个Map留着按需获取属性,所以就有了下面的Utils import java.lang.reflect.InvocationTargetException; i ...