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;
上一篇: 知识杂记
下一篇: mysql主从延迟优化