本文共 1340 字,大约阅读时间需要 4 分钟。
接收字符输入返回字符或者数值, dual 是伪表
ROUND()
默认情况下 ROUND 四舍五入取整,可以自己指定保留的位数 select round(56.16, -2) from dual;---四舍五入,后面的参数表示保留的位数select trunc(56.16, -1) from dual;---直接截取,不在看后面位数的数字是否大于5.select mod(10, 3) from dual;---求余数
Oracle 中提供了很多和日期相关的函数,包括日期的加减,在日期加减时有一些规律
日期 – 数字 = 日期 日期 + 数字 = 日期 日期 – 日期 = 数字----查询出 emp 表中所有员工入职距离现在几天。select sysdate-e.hiredate from emp e;----算出明天此刻select sysdate+1 from dual;----查询出emp表中所有员工入职距离现在几月。select months_between(sysdate,e.hiredate) from emp e;----查询出emp表中所有员工入职距离现在几年。select months_between(sysdate,e.hiredate)/12 from emp e;----查询出emp表中所有员工入职距离现在几周。select round((sysdate-e.hiredate)/7) from emp e;
nvl
范例:查询所有的雇员的年薪 if....else if...esle
select t.empno,t.ename,case when t.job = 'CLERK' then '业务员' when t.job = 'MANAGER' then '经理' when t.job = 'ANALYST' then '分析员' when t.job = 'PRESIDENT' then '总裁' when t.job = 'SALESMAN' then '销售' else '无业' end from emp t
转载地址:http://lgxr.baihongyu.com/