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主从,几乎涉及到各个版本 ...
随机推荐
- Win10下安装LabelImg以及使用--LabelImg
labelImg是图片标注软件,用于数据集的制作.标注等等.下面介绍labelImg的安装过程. 我用的是anaconda,所以以anaconda prompt作为终端: 在Anaconda Prom ...
- Docker 使用Docker创建MySQL容器
使用Docker创建MySQL容器 实践环境 Docker version 20.10.5 MySQL5.7 Centos 7.8 创建步骤 1.拉取MySQL镜像 docker pull mysql ...
- Django 用户认证系统使用总结
Django用户认证系统使用总结 by:授客 QQ:1033553122 测试环境 Win7 Django 1.11 使用Django认证系统 本文按默认配置讲解Django认证系统的用法.如果默 ...
- 封装的grid控件
class CGridCtrl : public CWnd { DECLARE_DYNAMIC(CGridCtrl) public: void Create(CWnd* pParent, DWORD ...
- 解决SpringMVC/SpringBoot @RequestBody无法注入基本数据类型
我们都知道SpringMVC使用 @RequestBody 注解可以接收请求content-type 为 application/json 格式的消息体.但是我们必须使用实体对象,Map或者直接用St ...
- 【Git】Git拉取失败,报错超出内存,内存分配失败
报错信息: Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Users\Administr ...
- 人形机器人 —— NVIDIA公司给出的操作算法(动态操作任务,dynamic manipulation tasks)(机械手臂/灵巧手)框架示意图 —— NVIDIA Isaac Manipulator
原文: https://developer.nvidia.com/isaac/manipulator#foundation-models NVIDIA公司准备针对人形机器人的各部分操作分别推出一个AI ...
- 世界机器人大会 —— 人形机器人(humanoid)、双足机器人、四足机器人 —— 我国最大的机器人展览会
相关资料: https://www.bilibili.com/video/BV1iG411g7B4/ https://www.youtube.com/watch?v=8cJV08MTwA0 官网主页: ...
- tmux开启鼠标模式
在tmux的配置文件中进行配置: vim ~/.tmux.conf set -g mouse on
- mpi4py.MPI.COMM_WORLD.Get_size失败——mpiexec and python mpi4py gives rank 0 and size 1 —— MPI.COMM_WORLD.Get_size() is always resulting '1'
参考: https://stackoverflow.com/questions/29264640/mpiexec-and-python-mpi4py-gives-rank-0-and-size-1 = ...