随笔分类 -  ORACLE

摘要:数据库操作中,经常会因为导数据造成数据重复,需要进行数据清理,去掉冗余的数据,只保留正确的数据 一:重复数据根据单个字段进行判断 1、首先,查询表中多余的数据,由关键字段(name)来查询。 select * from OA_ADDRESS_BOOK where name in (select na 阅读全文
posted @ 2018-05-18 09:36 左正 阅读(4115) 评论(0) 推荐(0) 编辑
摘要:update sales_report set region = REGEXP_REPLACE(region, '( ){1,}', '') 阅读全文
posted @ 2018-05-17 14:26 左正 阅读(2061) 评论(0) 推荐(0) 编辑
摘要:oracle中,wm_concat函数是一个聚合函数,和mysql中的group_concat函数类似,不过group_concat函数比较强大,可以定义分隔符和排序,当然所谓强大是相对的,这里假使我们不知道oracle中的over函数,也不知道listagg函数。 我们先来看看wm_concat函 阅读全文
posted @ 2018-05-17 10:01 左正 阅读(2808) 评论(2) 推荐(1) 编辑
摘要:1.绝对值:abs() select abs(-2) value from dual; 2.取整函数(大):ceil() select ceil(-2.001) value from dual;(-2) 3.取整函数(小):floor() select floor(-2.001) value fro 阅读全文
posted @ 2018-05-04 15:26 左正 阅读(11695) 评论(0) 推荐(0) 编辑
摘要:比如字段A: 'ab,cd,ef,gh'字段B: 'aa,bb,cc,dd' 没有相同值 字段A: 'ab,cd,ef,gh'字段B: 'aa,bb,cd,dd' 有相同值cd 1.CREATE OR REPLACE TYPE ty_str_split IS TABLE OF VARCHAR2 (4 阅读全文
posted @ 2018-04-26 13:24 左正 阅读(5440) 评论(0) 推荐(0) 编辑
摘要:(1) ibatis xml配置:下面的写法只是简单的转义 namelike '%$name$%' (2) 这时会导致sql注入问题,比如参数name传进一个单引号“'”,生成的sql语句会是:name like '%'%' (3) 解决方法是利用字符串连接的方式来构成sql语句 name like 阅读全文
posted @ 2018-04-22 18:16 左正 阅读(1522) 评论(0) 推荐(0) 编辑
摘要:关于Oracle中的外键,首先要说明一下。 1. 除非已定义了父表主键或唯一键约束,否则oracle将不允许创建子表的外键约束。 2. 在定义外键约束时,oracle不会自动创建索引,所以必须手动在与外键约束相关的列上创建索引。 所以我们这里要研究的是否需要在子表中创建索引,因为父表中对应的列是一定 阅读全文
posted @ 2018-03-30 14:26 左正 阅读(1477) 评论(0) 推荐(0) 编辑
摘要:declare jobno number; begin dbms_job.submit( jobno,--定时器ID,系统自动获得 'PRC_INSERT;', --what执行的过程名 sysdate,--next_date,定时器开始执行的时间,这样写表示立即执行 'sysdate + 15/1 阅读全文
posted @ 2018-01-19 16:54 左正 阅读(5297) 评论(0) 推荐(0) 编辑
摘要:方法一 wn_concat() 函数 1、把以下图中Name一样的数据合并为一条,而且NO的值要这样显示如 C.1,C.2 2、实现这种效果的操作如下,先把Name的值进行分组(group by),再把NO的值用 wm_concat()函数合并起来(注意:记得要to_char(),要不然数据显示不出 阅读全文
posted @ 2017-12-08 16:06 左正 阅读(1346) 评论(0) 推荐(0) 编辑
摘要:普通排序利用:order by 字段名 ASC 但是遇到有中文而且类型是varchar类型的结果就是这样 政采代(甲)字第0298号 政采代(甲)字第0421号 政采代(甲)字第1098号 政采代(甲)字第1267号(延续) 政采代(甲)字第1179号(延续) 但是我们要的结果应该是这样: 政采代( 阅读全文
posted @ 2017-08-15 11:38 左正 阅读(1934) 评论(0) 推荐(0) 编辑
摘要:第1章 引言 随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。 水平切分数据库:可以降 阅读全文
posted @ 2017-07-24 11:23 左正 阅读(299) 评论(0) 推荐(0) 编辑
摘要:将NVARCHAR2转换为VARCHAR2: Sql代码 declare v_username varchar2(12) ; v_nm_login nvarchar2(12); begin select utl_raw.cast_to_varchar2(utl_raw.cast_to_raw(v_n 阅读全文
posted @ 2017-07-05 13:21 左正 阅读(25976) 评论(0) 推荐(0) 编辑
摘要:用法如下: select case when exists(select 1 from t_test c where c.name = 'zhangsan' and c.age = 23 ) then 1 else 0 end from dual; select case when exists(s 阅读全文
posted @ 2017-05-03 11:32 左正 阅读(2001) 评论(0) 推荐(0) 编辑
摘要:select text from all_source where type='PROCEDDURE' and name='过程名'and instr(text,'注释内容')>0 阅读全文
posted @ 2017-05-02 16:31 左正 阅读(4205) 评论(0) 推荐(0) 编辑
摘要:--1.取整(大) select ceil(-1.001) value from dual ; --2.取整(小) select floor(-1.001) value from dual ; --3.取整(截取) select trunc(-1.002) value from dual ; --4 阅读全文
posted @ 2017-05-02 14:40 左正 阅读(28239) 评论(0) 推荐(0) 编辑
摘要:Case具有两种格式。简单Case函数和Case搜索函数。 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASE WHEN sex = '1' THEN '男' WHEN sex = 阅读全文
posted @ 2017-04-27 17:59 左正 阅读(5790) 评论(0) 推荐(0) 编辑
摘要:Oracle中在做字符匹配时 遇到 NVARCHAR2 类型时报错,提示 字符集不匹配。 对使用 NVARCHAR2 的地方,需要对字段进行字符转换,加上 to_char(nvarchar2 字段) 即可。 例如: SELECT substr(bm.matnr, 3) wlbm, ms.maktx 阅读全文
posted @ 2017-04-24 19:33 左正 阅读(1526) 评论(0) 推荐(0) 编辑
摘要:oracle存储过程,可以通过sqlcode 获取异常编码、通过sqlerrm获取异常信息。 例子: 调用java代码 会在控制台输出异常编码和异常信息了 阅读全文
posted @ 2017-04-20 11:43 左正 阅读(13297) 评论(0) 推荐(1) 编辑
摘要:记录exit和return的用法 exit用来跳出循环 loop IF V_KBP IS NULL THEN EXIT; END IF; end loop; return跳出存储过程 loop IF V_KBP IS NULL THEN return; END IF; end loop; 跳出loo 阅读全文
posted @ 2017-04-10 11:39 左正 阅读(3038) 评论(0) 推荐(0) 编辑
摘要:<script type="text/javascript"><!-- google_ad_client = "pub-9528830580198364"; /* 大矩形336x280, 创建于 09-5-28 */ google_ad_slot = "4731086345"; google_ad_ 阅读全文
posted @ 2017-03-28 15:26 左正 阅读(3529) 评论(0) 推荐(0) 编辑