--把 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')