oracle函数

1.NEXT_DAY

指定某个日期之后的某天

select NEXT_DAY('10-2月-2019','星期四')
from dual;

2.LAST_DAY

返回某月的最后一天

select LAST-DAY('10-2月-2019')
from dual;

3.round

四舍五入截取日期中的年月日

select round(TO_DATE('10-2月-2019'),'MONTH')
FROM dual;

4.TROUNC

截取日期中的年月日

select TROUNC(TO_DATE('10-8月-2019'),'year')
from dual;

5.to_char

将日期函数转换成字符串类型的数据

select ename,TO_CHAR(hiredate,'fmDD Month YYYY') HIREDATE
from emp;

6.TO_CHAR(用于数值型)

select to_char(sal,'fm$3,333.00')
from emp;

7.TO_NUMBER

将字符串类型转换为数值类型
格式:TO_NUMEBR(char[,‘fmt’])

fm消除前导零或者空格,t转换后的格式

select to_number('$1234.56','9,999.00') "result"
from dual;

8.TO_DATE

将字符串类型数据转换成日期型数据
TO_DATE(char[,‘fmt’])

select ename,hiredate
from emp
where hiredate=to_date('2月 22,1981','MONTH DD,YYYY')

9.NVL

将空值转换为有意义的实际值

10.DECODE 函数

根据相应条件进行计算

DECODE(col/expression,searchl,result1
[,search2,result2,.....,]
[,default]
)

eg:按照员工工种给涨工资

if job='ANAYLYS' THEN SAL=SAL*10%
if job='CLERK' THEN SAL=SAL*15%
if job='MANAGER' THEN SAL=SAL*20%
ELES SAL=SAL
SELECT ename,sal,decode(job,'ANALYST',SAL*1.1,
'CLERK',SAL*1.15,
'MANAGER',SAL*1.2,
SAL
)
FROM EMP;

11,笛卡尔积

select * from emp,dept;

12.使用组函数的非法查询

select deptno,AVG(sal)
from emp
where avg(sal)>2000
group by deptno;

替换为

select deptno,avg(sal)
from emp
having avg(sal)>2000
group by deptno;

13.having语句的使用

select job,sum(sal)
from emp
where job not  like'sales%'
having sum(sal)>5000
group by job;

14.子查询的使用

select *
from emp
 where job=(select job from emp where empno=7369)
and sal>(select sal from emp where empno=7876);

15,having与子查询的结合使用

select deptno,min(sal)
from emp
group by deptno
having min(sal)>(select min(sal)
from emp
where deptno=20);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值