自动类型转换
select 1+‘1‘ fromdual;--前面是字符串,会自动转换成date类型
select add_months(‘1-7月-2017‘,2) fromdual;--to_number to_char to_date
select sysdate fromdual;--把日期函数转换成字符串:to_char()
select sysdate,to_char(sysdate) fromdual;--自己定义日期的格式
select sysdate,to_char(sysdate,‘YYYY-MM-DD HH24:MI:ss‘) fromdual;select sysdate,to_char(sysdate,‘YYYY-MM-DD‘) fromdual;select sysdate,to_char(sysdate,‘HH24:MI:ss‘) fromdual;--将数字转换成字符串:to_char
select 123,to_char(123) fromdual;--9代表占位符,如果位数少于前面的数字,都会显示#--L代表本地货币符号
select 123,to_char(123,‘999‘) fromdual;--to_date 将字符串转换成日期类型
select months_between(sysdate,‘2017-12-17‘) fromdual;--to_date() 必须要指定日期的格式
select months_between(sysdate,to_date(‘2017-12-17‘,‘YYYY-MM-DD‘)) fromdual;--to_number 将字符串转数字 字符串必须只有数字
select ‘123‘,to_number(‘123.000‘) fromdual;--nvl相当于java中的条件运算符 a?b:c--查询所有员工的姓名,职位,薪水,提成和总工资
select ename,job,sal,comm,sal+comm income fromemp;select ename,job,sal,nvl(comm,o) comm,sal+nvl(comm,0) income fromemp;--nvl2:有三个参数,第一个参数为null,返回第三个参数的值,否则返回第二个
select ename,job,sal,comm,nvl2(comm,sal+comm,sal) income fromemp;--两者数据类型一定要一致
select comm,nvl(comm,‘无‘) from; --如果数据类型不一致,将出现报错现象。
--decode 功能类似 switch...case...--查询所有员工的职位,并且以中文显示
select distinct job fromemp;select decode(job,‘CLERK‘,‘职员‘,‘SALESMAN‘,‘销售员‘,‘PRESIDENT‘,‘不知道‘,‘MANAGER‘,‘经理‘,‘ANALYST‘,‘分析师‘) as job from emp;
Oracle转换函数
标签:条件运算 自动类型转换 resid 运算 -- 经理 员工 gpo months
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:http://www.cnblogs.com/superdrew/p/8053956.html