![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
Oracle
小小Java开发者
阿里云社区专家博主,专注于Java后端技术干货、项目源码总结分享,持续输出干货内容,希望跟大家一起学习进步,期待您的关注!
展开
-
count(1)、count(*) 、count(列名) 的区别:
执行效果上:count(*)包括了所有的列,相当于行数,在统计结果的时候,不会忽略列值为NULLcount(1)包括了忽略所有列,用1代表代码行,在统计结果的时候,不会忽略列值为NULLcount(列名)只包括列名那一列,在统计结果的时候,会忽略列值为空(这里的空不是只空字符串或者0,而是表示null)的计数,即某个字段值为NULL时,不统计。执行效率上:列名为主键,count(列名)会...转载 2019-09-15 11:25:18 · 96 阅读 · 0 评论 -
Oracle中merge Into的用法
Oracle中merge Into的用法:在操作数据库时,数据存在的情况下,进行update操作;不存在的情况下,进行insert操作;在Oracle数据库中,能够使用merge into来实现。原创 2023-03-05 10:15:58 · 2245 阅读 · 0 评论 -
避坑,Oracle中left join 与 (+) 的区别
下面通过一个演示例子,可以很明显的知晓两者的区别!!!示例演示:创建两张表分别是:shun_a 表、shun_b 表。首先执行下面的left join SQL语句。执行结果如下:执行结果如下:通过上面的两个SQL进行对比发现,两者执行的结果没有什么区别。在除了连接条件外,没有子查询条件时,两者是一样的,但是有其他条件时不能直接用(+)。下面演示存在子查询条件的情况:注:上面SQL等价于:总结:存在子查询的条件下:left join是先在shun_b表进行 b_flag=1 过滤,再进行表原创 2022-06-12 13:43:50 · 2627 阅读 · 0 评论 -
Oracle临时表详解
临时表是一种特殊的表。当我们需要对某一(也可以是多个)表中的一批数据进行反复的操作时,通过对这批数据创建一个临时表,可能会简化操作并且有可能提高效率!原创 2022-06-26 10:49:22 · 17327 阅读 · 0 评论 -
Oracle insert数据时字符串中有‘单引号问题
Oracle insert数据时字符串中有'单引号问题原创 2022-07-26 15:14:02 · 2823 阅读 · 0 评论 -
【问题】Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
主要问题在使用SpringBoot整合Mybatis操作Oracle数据库的时候,报错信息如下:### Cause: org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'ID' from result set. Cause: java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK解决方法在项目工程的pom.原创 2021-05-25 14:01:50 · 2296 阅读 · 2 评论 -
解决SQL报错:索引中丢失IN或OUT參数
遇到问题:,?,?,?)]; SQL state [99999]; error code [17041]; 索引中丢失 IN 或 OUT 參数:: 4; nested exception is jav解决问题:原因是数据库中的字段类型与SQL语句中的类型不匹配造成的,后边的数字,代表第几个参数错误。找到对应参数配置或者SQL中这个参数的类型是否与数据库中匹配,更改后即可解决此问题。...原创 2022-01-17 09:37:25 · 7512 阅读 · 0 评论 -
避坑,Oracle中rownum与order by的执行顺序
「场景分析」今天遇到这样一个场景:在列表展示数据的时候,使用rownum进行分页,并用order by 对某些字段进行排序。于是写出了下面的模拟查询sql:selectrownumrn,t.*fromsys_depttorderbyt.dept_namedesc;从上面的截图中可以发现:rownum完全是乱序的,因此最终以这种方式分页排序获取的数据列表不能达到预期的效果。「原因分析」 若order by 的基准字段是表的PrimaryKey,则查...原创 2022-05-06 10:43:27 · 2640 阅读 · 0 评论 -
【解决问题】——Oracle 在使用and or时需要注意
在一次项目的开发过程中,涉及到多张表的联合查询,代码在本地自测的时候并出现锁表的情况,把sql单独抽出来,仔细排查,发现在sql中`and or` 同时使用的时候,忘记了加括号导致的,导致查询的数据量剧增,导致锁表。当我们同时使用and、or关键字的时候,需要注意:两者一起使用的时候,and 的优先级高于or。示例:select * from emp where sal < 1500 or sal >= 2000 and job = 'analyst';上述等价于:s.原创 2022-04-30 20:30:00 · 3042 阅读 · 0 评论