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主从,几乎涉及到各个版本 ...
随机推荐
- Django model 层之事务管理总结
Django model 层之事务管理总结 by:授客 QQ:1033553122 实践环境 Python版本:python-3.4.0.amd64 下载地址:https://www.python.o ...
- 【超实用攻略】SpringBoot + validator 轻松实现全注解式的参数校验
一.故事背景 关于参数合法性验证的重要性就不多说了,即使前端对参数做了基本验证,后端依然也需要进行验证,以防不合规的数据直接进入服务器,如果不对其进行拦截,严重的甚至会造成系统直接崩溃! 本文结合自己 ...
- java面试一日一题:mysql的索引下推了解吗
问题:请问你了解索引下推吗 分析:该问题主要考察对mysql优化方面的理解 回答要点: 主要从以下几点去考虑, 1.mysql中索引的概念? 2.索引下推的理解及意义? 在面试过程中问到mysql,必 ...
- Maven创建Web项目(idea)
web项目创建 Web项目开发需要导入许多的第三方jar包,用Maven创建web项目就可以将这一操作免去. 本项目是在idea下创建的,idea自带Maven,如果还未了解Maven的同学可以看上一 ...
- 基于 ChatGPT 的聊天软件合集打包分享
「基于 ChatGPT 的聊天软件合集打包」 链接:https://pan.quark.cn/s/ef1f5e9c48e4 BotGem(原名AMA) 官网:https://botgem.com/ ...
- PEP 703作者给出的一种no-GIL的实现——python3.9的nogil版本
PEP 703的内容是什么,意义又是什么呢? 可以说python的官方接受的no-GIL提议的PEP就是PEP 703给出的,如果GIL帧的从python中移除那么可以说对整个python生态圈将有着 ...
- 凸优化: 回溯线搜索(Backtracking line search)
声明: 本文大量摘录 https://www.cnblogs.com/kemaswill/p/3416231.html 内容. ==================================== ...
- 备忘 : 使用VS2022后,发现C盘空间越来越少怎么办?
背景 自从安装完VS2022后,感觉C盘容量肉眼可见的降低.之前2019并没有产生如此严重的情况.后面查看发现,Designer/Cache缓存的数据很大(截图是已经删除过的) 解决方案 在平台的反馈 ...
- oracle利用job实现存储过程异步执行
1.背景 在实际开发中,我们可能会利用存储过程批量处理业务, 对应有些存储过程可能会执行很长时间,这时我们需要客户端点操作后,存储过程异步执行 具体实现如下 1.创建处理业务的存储过程:sp_test ...
- vue 识别\n \t 等字符(转载)
使用.text(str)时,str中有"\n",但是页面显示却没有换行,需要在所在的 div添加属性 style="white-space: pre-line" ...