Oracle操作3

--日期转字符串
select to_char(hiredate,'YYYY-MM-DD HH24:MI:SS'),hiredate from emp;
--字符串转日期to_date(),精确到天
select to_date('1980-12-27','YYYY.MM.DD') from dual;
--Oracle中的正则demo
--查找ename与给定的正则匹配的数据
select * from emp where regexp_like(ename,'^.*M.*$');
--将给定内容匹配给定正则的部分位置返回
select regexp_instr('abcd23def','d') from dual;
--将给定内容匹配给正则的部分用给定字符串替换
select regexp_replace(ename,'w{5,}(w)','1') as n,ename from emp;
--若有指定字符,返回与正则表达式匹配的子串(从匹配到开始到字符串结束) 
select regexp_substr(ename,'N.*'),ename from emp;
--聚合函数
--count()获取条数(emp表中共有14条数据)
--聚合函数只是不包含null,但是包含0
select count(comm) from emp;
--avg()求平均值
select avg(sal) as 平均工资 from emp;
--sum()求和
select sum(sal) as 总工资 from emp;
--max()求最大值
select max(sal) 最高工资 from emp;
--min()求最小值
select min(sal) 最低工资 from emp;
--避免使用count(*)而使用COUNT(ROWID)
--ROWID唯一,所以要查一张表有多少条数据用ROWID效率更高


--分组函数(聚合函数)(多行函数)只能有一条结果,所以不能和普通字段一起查询
select min(sal),ename from emp;
--报错不是单组分组函数
原文地址:https://www.cnblogs.com/qilin20/p/12427757.html