欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle相关知识点

程序员文章站 2022-07-13 08:05:18
...

初入工作,接触的数据相关的工作比较多,其中oracle解除的最多,在这里整理下工作中遇到的一些知识点:

找出temp_yangbo_c中所有的数据,然后以列名为operator_id的列从大到小的顺序排列,并且新增名为NN的一列,NN列下显示名次。查询第一名或者最后一名就是如下的方法

SELECT * FROM
(
select A.*,row_number()over (partition by OPERATOR_ID order by SCORE ASC ) NN
 from temp_yangbo_c  A
) WHERE NN=1 ;

alter操作下常用的几个方法。修改表结构之前必须先清空表的数据。所以通常在工作当中,我们先多创建一列,然后将修改更新后的数据放到新增的一列中,无误后删除原有的一列数据,在修改列名。主要用到如下的方法:

truncate table score2;抹掉表中所有的数据。
alter table temp_yangbo_c modify operator_id number;
alter table temp_yangbo_c drop column score;
alter table temp_yangbo_c add  (score number);
alter table temp_yangbo_c rename column score to score2
alter table aaaaaa move tablespace boss_space;  移动表空间    将表中的数据移动到tablespace表空间中去。
alter table t_jttp_mbk_a add(dy_zf_flag number default 0)

merge into —现有的表—using-----已知的表----on—表之间的连接-- WHEN MATCHED THEN UPDATE SET —把已知的表中的字段值赋给现有的表中的字段值—where—条件----

 MERGE INTO jq_temp a USING  [email protected] b
                ON (a.imei=b.imei)
              WHEN MATCHED THEN UPDATE SET a.org_id = b.org_id
              where a.org_id is null '; 

字段信息替换的相关操作

select instr('辉瑞制药(无锡)有限公司','(',-1)   from dual;
select substr('绿点科技(无锡)有限公司(塑胶)',length('绿点科技(无锡)有限公司(塑胶)'),1) from dual ; 
select substr('绿点科技(无锡)有限公司(塑胶)',4,4) from dual 
select replace('辉瑞制药(无锡)有限公司  ',
               substr('辉瑞制药(无锡)有限公司  ',
                      instr('辉瑞制药(无锡)有限公司', '(', -1),
                      instr('辉瑞制药(无锡)有限公司', ')', -1)-
                      instr('辉瑞制药(无锡)有限公司', '(', -1)+1),
               '')
  from dual;

rownum的使用

select * from (select * from tmp_ry_k_1119_nps order by total_sc desc)
 where rownum <= 50000

cast是数据类型转换 如: cast(oid as int) 意思就是将oid这个值转换成int类型
nvl(----,0)当这个值为空时,它的值为0,也可理解为默认值为0;

相关标签: Oracle