
Oracle数据库
文章平均质量分 61
遥远的救世主○
初见咋惊欢,久处亦怦然。
展开
-
Oracle中ROW_NUMBER() OVER()函数用法
row_number() over() 函数,over() 里的分组以及排序的执行晚于 where、group by、order by 的执行。row_number() over( partition by 分组列 order by 排序列 desc )3. 获取到每个班级分数排名第一的学生。根据工资排序并添加序号。原创 2022-09-26 21:07:30 · 27096 阅读 · 0 评论 -
C/C++ 取整函数ceil(),floor(),Nullif 函数
nvl(round((sum(tjrs)/nullif(sum(zrs),0)*100),2),0)as人次比例,‘%’as百分比。如floor(10.5)==10floor(-10.5)==-11。如ceil(10.5)==11ceil(-10.5)==-10。floor()是向负无穷大舍入,floor(-10.5)==-11;ceil()是向正无穷大舍入,ceil(-10.5)==-10。朝零方向取整,如fix(-1.3)=-1;...原创 2022-07-21 17:58:24 · 912 阅读 · 0 评论 -
oracle中的 (+)是什么意思
概念阐述 oracle中的(+)是一种特殊的用法,(+)表示外连接,并且总是放在非主表的一方。原创 2022-06-29 10:40:43 · 2948 阅读 · 0 评论 -
Oracle的left join中on和where的区别详解
结果的关键原因就是left join,right join,full join的特殊性,不管on上的条件是否为真都会返回left或right表中的记录,full则具有left和right的特性的并集。 而inner jion没这个特殊性,则条件放在on中和where中,返回的结果集是相同...转载 2022-06-14 21:37:36 · 1746 阅读 · 0 评论 -
Oracle数据库用户密码过期的解决方法
ORA-28001:the password has expired很显然,报错原因就是:密码已过期!所以现在需要做的事情:1.修改密码的过期时间 2.修改/重置密码原创 2022-06-14 21:32:10 · 10556 阅读 · 1 评论 -
oracle中的!= <> ^= is null 区别
!= 、 、^= 三个符号都表示“不等于”的意思,在逻辑上没有本质区别但是要主义的是三个符号在表达“不等于”含义的同时,隐含一个“不为空 is not null”的前提,所以使用时null会被过滤掉。原创 2022-06-14 15:31:49 · 738 阅读 · 0 评论 -
关于Oracle数据库字符集的选择及乱码情况
查看数据库字符集设置数据库字符集乱码情况分析原创 2022-06-02 10:27:33 · 3465 阅读 · 0 评论 -
oracle字段长度不足位数补零
oracle字段长度不足位数补零假如原始值为1,往左补零,实现如下select lpad(‘1’, 5, ‘0’) from dual;执行结果如下:【注意】1、第一个参数为待补字符;第二个参数表示补齐后的总字符长度;第三位表示不足时补什么字符;2、lpad是左侧补0,右侧补0可用rpad...原创 2022-05-07 17:41:42 · 6145 阅读 · 0 评论 -
oracle的 listagg() WITHIN GROUP () 函数使用
oracle的 listagg() WITHIN GROUP () 函数使用使用条件:数据统计行转列– 查询部门为20的员工列表【显然是多列显示】SELECT t.DEPTNO,t.ENAME FROM SCOTT.EMP t where t.DEPTNO = ‘20’ ;使用 listagg() WITHIN GROUP () 将多行合并成一行并以字符分割SELECT T .DEPTNO, listagg (T .ENAME, ',') WITHIN GROUP (ORDER BY原创 2022-01-24 16:08:48 · 1299 阅读 · 0 评论 -
数据库SQL语句性能优化策略
数据库SQL语句性能优化策略1、对查询进行优化,应尽量避免全表扫描,首先应考虑在 WHERE 及 ORDER BY 涉及的列上建立索引。2、应尽量避免在 WHERE 子句中对字段进行 NULL 值判断,创建表时 NULL 是默认值,但大多数时候应该使用 NOT NULL,或者使用一个特殊的值,如 0,-1 作为默认值。3、应尽量避免在 WHERE 子句中使用 != 或 <> 操作符。MySQL 只有对以下操作符才使用索引:<,<=,=,>,>=,BETWEEN,IN原创 2021-09-30 11:24:12 · 279 阅读 · 0 评论 -
Oracle查询死锁与解锁SQL语句
Oracle查询死锁与解锁SQL语句–锁表查询SELECT object_name, machine, s.sid, s.serial#FROM gvlockedobjectl,dbaobjectso,gvlocked_object l, dba_objects o, gvlockedobjectl,dbaobjectso,gvsession sWHERE l.object_id = o.object_idAND l.session_id = s.sid;找到被锁定的表,解锁SQL 代码如原创 2021-09-02 21:41:42 · 1516 阅读 · 0 评论 -
Oracle 用户或表被锁原因
Oracle 用户或表被锁原因首先你要知道任何DML语句都会对表加锁。你要先查一下是那个会话那个sql锁住了表,有可能这是正常业务需求,不建议随便KILL session,如果这个锁表是正常业务你把session kill掉了会影响业务的。锁表原因可能是修改了行数据,忘了提交,也会造成锁表。一. 锁表建议先查原因再做决定。1锁表查询的代码有以下的形式:select count(*) from v$locked_object;select * from v$locked_object;2原创 2021-06-17 21:23:32 · 4623 阅读 · 1 评论 -
关于删除数据后,新数据插入后是否会利用原删除部分的表空间?
关于删除数据后,新数据插入后是否会利用原删除部分的表空间?一. Oracle 删除数据的几种方法删除表(记录和结构)的语名delete ———— truncate ———— drop DELETE (删除数据表里记录的语句)DELETE FROM表名 WHERE 条件;注意:删除记录并不能释放ORACLE里被占用的数据块表空间. 它只把那些被删除的数据块标成unused.如果确实要删除一个大表里的全部记录, 可以用 TRUNCATE 命令, 它可以释放占用的数据块表空间TR原创 2021-06-04 18:28:22 · 1232 阅读 · 0 评论 -
Oracle数据库连接字符串
Oracle数据库拼接字符串字符串相加是我们工作中常见的操作,那么如何才能将两个字符串或多个字符串拼接·组合为一个字符串呢?下文将讲述Oracle中字符串的操作方法,如下所示:实现思路:方式1:使用concat连接字符串,其缺点为:只可连接两个字符串方式2:使用“||”符合可以连接多个字符串举例如下:select concat(‘百度’, ‘www.baidu.com’) from dual;select ‘baiduName:’||‘百度’||‘url:’||‘www.baidu.co原创 2021-01-25 11:11:14 · 10924 阅读 · 0 评论 -
oracle数据库中 instr函数的用法
oracle数据库中 instr函数的用法一、instr函数的概念在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。在一个字符串中查找指定的字符,返回被查找到的指定的字符的位置。二,语法instr(sourceString,destString,start,appearPosition) instr('源字符串' , '目标字符串' ,'开始位置','第几次出现')其中sourceString代表源字符串;destString代表要从源字符串中查找的子串原创 2020-09-28 17:39:08 · 18414 阅读 · 0 评论 -
Oracle DatabaseLink 跨数据库连接
Oracle DatabaseLink 跨数据库操作在平时工作中有这么一个需求,要搭建测试环境,需要把开发库中的一部分表和数据导入到测试库中。或者说在测试库中用到开发库中的一些表,视图的数据。咋一看这个需求有很多的实现方法,至少可以使用Oracle的导入导出来操作。这肯定能够实现,但感觉比较low,下面来看一种高大尚的做法,使用Oracle中的DATABASE LINK。DATABASE LINK 顾名思义,就是数据库的连接,功能就是连接到其他的数据库,并对其他的数据进行方便的操作。但从这一点来看,是不原创 2020-09-23 20:47:43 · 514 阅读 · 0 评论 -
Oracle 将数据导出到CSV(Excel)文件的方法
Oracle 快速将数据导出到CSV(Excel)文件的方法及性能1,我们工作中有需要将线上数据导出到excel给客户分析/查看的情况,如下是方法介绍情况:工作中有需要将线上数据导出到excel给客户分析/查看的情况,如下是方法介绍情况:方法1分钟导出的数据量 ---- 适用于utl_file读写文件包300万 大量导出时plsql developer->export query result10万 小量导出时––excel连接数据库1万原创 2020-09-22 22:46:29 · 11836 阅读 · 0 评论 -
oracle数据库导入数据步骤
我们在数据库导入数据时,常规步骤如下:登录用户system管理员–【必须步骤:创建表空间】create tablespace test datafile 'G:\app\zky\oradata\hsp\test01.DBF' size 1024M autoextend on;create tablespace ESB datafile 'G:\app\zky\oradata\hsp\ESB.DBF' size 1024M autoextend on;create tablespace LIS da原创 2020-09-08 22:57:39 · 5220 阅读 · 0 评论 -
oracle删除用户后,却还可以使用该用户登录
oracle删除用户后,却还可以使用该用户登录描述:本地安装了个oracle碰到以下问题:今天在oracle里创建用户 用system以DBA身份登录后执行语句create user test identified by ESB_USER default tablespace tspace_temporary _tablespace_temp;然后我又删除了该用户,drop user test cascade;可是这时候我发现test用户用normal用户无法登录,但是用SYSDBA竟然能登录进去原创 2020-09-08 18:08:45 · 686 阅读 · 0 评论