Oracle数据库的查询之单行函数查询(三)
一.单行函数
2.格式:
二.字符函数 2.字符控制函数 三.数值函数 四.日期函数 Oracle 中的日期型数据实际含有两个值: 日期和时间。 select sysdate from dual;显示当前系统时间
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
格式化时间
2.日期的数学运算 查询员工的工作多少周.多少月,多少年
select ename,hiredate,(sysdate-hiredate) 天,(sysdate-hiredate)/7 星期,(sysdate-hiredate)/30 月,(sysdate-hiredate)/365 年
from emp;
3.日期函数的使用: 例如: select months_between(sysdate,hiredate) from emp;
select add_months(sysdate,12) from dual;
select last_day(sysdate) from dual;
select next_day(sysdate,'星期五') from dual;
select round(sysdate,'year') from dual;
一年如果过了一半的话结果就会为下一年的1月1号,如果没有就为本年的1月1号
select round(sysdate,'month') from dual;
一个月如果过了一半就为下一个月的1号,如果没有就为本月的1号
select round(sysdate,'day') from dual;
select trunc(sysdate,'year') from dual;
相当于重置月份和日为1月1号
select trunc(sysdate,'month') from dual;
相当于重置日为1号
select trunc(sysdate,'day') from dual;
4.next_day的应用: 五.转换函数 3.TO_CHAR 函数对日期的转换 注意事项: 日期格式的元素 例如:
select hiredate,sal,to_char(hiredate,'yyyy "年" mm"月" dd"日"') from emp;
4.TO_CHAR 函数对数字的转换 select to_char(sal,'L9,999.99') from emp;
5. 六.通用函数 1.NVL函数 函数的一般形式:
NVL(commission_pct,0)
NVL(hire_date,'01-JAN-97')
NVL(job_id,'No Job Yet')
2.NVL2函数 3.NULLIF (expr1,expr2)函数 4.COALESCE(联合,合并) 函数 select sal,comm,coalesce(comm,10) from emp;
七.条件表达式 1.case表达式的使用: 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
2.decode函数的使用 select ename,decode(job,'clerk','业务员','salesman','销售','president','总裁','manager','经理','无业') from emp;
3.嵌套函数 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |