2020-03-25 字符函数和分析函数

--字符函数
--首字母大写 initcap
select initcap('nihao') from dual
--转小写  lower
select empno,lower(ename),lower(job) from emp
--转大写  upper
select upper('nihao') from dual
--ltrim
select ltrim('xadminyxz','xyz') from dual
--rtrim
select rtrim('xadminyxz','xyz') from dual
--逐值替换
select ename,decode(deptno,'10','运维部''20','开发部','30','产品部')as deptno from emp
--截取当前系统日期的年份
select extract(year from sysdate) from dual
--获取emp表中每个人的工作年限
select ename,extract(year from sysdate) extract(year from hiredate)as edate from emp

Select TO_CHAR(0.123,'$0.9999') FROM DUAL;

SELECT TO_CHAR(sysdate,'YYYY"年"fmMM"月"fmDD"日" HH24:MI:SS')
FROM dual;

SELECT ename,TO_CHAR(hiredate,'YYYY"年"fmMM"月"fmDD"日"')as edate
FROM emp;

--求每个员工的总工资
select ename,sal+nvl(comm,0) as 总工资 from emp
select ename,sal+nvl2(comm,1000,0) as 总工资 from emp

select nullif(100,100)from dual

--分析函数(从大到小排序) ROW_NUMBER (并列) Rank (并列但还是排名) DENSE_RANK
select emp.*,ROW_NUMBER() over(order by sal desc)as enum from emp
select emp.*,rank() over(order by sal desc)as enum from emp
select emp.*,DENSE_RANK() over(order by sal desc)as enum from emp

猜你喜欢

转载自www.cnblogs.com/kun123/p/12565035.html
今日推荐