ORACLE常用方法大全(持续更新)

ORACLE中的字符串替换

--把 str_source 中 str1 字符串替换为 str2 字符串,当 str2 为 null 或'' 时,与下个作用相同 
replace(str_source,str1,str2)  

--把str_source 中的 str1 字符串剔除
replace(str_source,str1)          

--支持正则表达式,用法类似于 replace,但功能更强大 
regexp_replace(str_source,pattern_str,rep_str) 

 --把 str_source 中的 pattern_str 字符串剔除 
regexp_replace(str_source,pattern_str)  

--以字符为单位,把 str_source 中的 chr1 字符对应替换为 chr2.
translate(str_source,chr1,chr2) 

 

select trunc(sysdate, 'd') from dual--上周日
select trunc(sysdate, 'd')+7 from dual --本周日

表中添加字段

alter table 表名 add 字段名  varchar2(20);

字段设置注释

comment on column 表名.字段名
  is '注释';

添加索引

create index 索引名称 on 表名(列名);

 

查找表中存在多条数据

select * from people
where peopleId in (select   peopleId from   people group by   peopleId having count

(peopleId) > 1)

循环插入 

-- Created on 2020/7/3 by 335137 
declare
  -- Local variables here
  j number := 0;
begin
  -- Test statements here
  for i in 1 .. 60 loop
    insert into 表名
      (
       code,
       name,
       )
    values
      ('34126370' + i,
       'zhansan' || i
      );
  end loop;
  commit;

end;

查询昨天数据: 

SELECT COUNT(1) FROM 表名 WHERE TO_CHAR(字段名,'YYYY-MM-DD')=TO_CHAR(SYSDATE-1,'YYYY-MM-DD') 

查询本周数据:

SELECT COUNT(1) FROM  表名 WHERE 字段名>= TRUNC(NEXT_DAY(SYSDATE-8,1)+1) AND 字段名< TRUNC(NEXT_DAY(SYSDATE-8,1)+7)+1

查询上周数据:

SELECT COUNT(1) FROM  表名 WHERE 字段名>= TRUNC(NEXT_DAY(SYSDATE-8,1)-6) AND 字段名< TRUNC(NEXT_DAY(SYSDATE-8,1)+1)

查询本月数据:

SELECT COUNT(1) FROM 表名 WHERE TO_CHAR(字段名,'YYYY-MM')=TO_CHAR(SYSDATE,'YYYY-MM')

查询上月数据:

SELECT COUNT(1) FROM 表名 WHERE TO_CHAR(字段名,'YYYY-MM')=TO_CHAR(ADD_MONTHS(SYSDATE,-1),'YYYY-MM')

 

 

 

 

 

 

你可能感兴趣的:(oracle日常使用)