Oracle转换函数



--自动类型转换
select 1+'1' from dual;

--前面是字符串,会自动转换成date类型
select add_months('1-7月-2017',2) from dual;

--to_number   to_char   to_date
select sysdate from dual;
--把日期函数转换成字符串:to_char()
select sysdate,to_char(sysdate) from dual;

--自己定义日期的格式
select sysdate,to_char(sysdate,'YYYY-MM-DD HH24:MI:ss') from dual;
select sysdate,to_char(sysdate,'YYYY-MM-DD') from dual;
select sysdate,to_char(sysdate,'HH24:MI:ss') from dual;

--将数字转换成字符串:to_char
select 123,to_char(123) from dual;
--9代表占位符,如果位数少于前面的数字,都会显示#
--L代表本地货币符号
select 123,to_char(123,'999') from dual;

--to_date 将字符串转换成日期类型
select months_between(sysdate,'2017-12-17') from dual;
--to_date() 必须要指定日期的格式
select months_between(sysdate,to_date('2017-12-17','YYYY-MM-DD')) from dual;


--to_number 将字符串转数字  字符串必须只有数字
select '123',to_number('123.000') from dual;

--nvl相当于java中的条件运算符      a?b:c
--查询所有员工的姓名,职位,薪水,提成和总工资
select ename,job,sal,comm,sal+comm income from emp;
select ename,job,sal,nvl(comm,o) comm,sal+nvl(comm,0) income from emp;

--nvl2:有三个参数,第一个参数为null,返回第三个参数的值,否则返回第二个
select ename,job,sal,comm,nvl2(comm,sal+comm,sal) income from emp;
--两者数据类型一定要一致
select comm,nvl(comm,'无') from;  --如果数据类型不一致,将出现报错现象。

--decode 功能类似 switch...case...
--查询所有员工的职位,并且以中文显示
select distinct job from emp;
select decode(job,'CLERK','职员','SALESMAN','销售员','PRESIDENT','不知道',
'MANAGER','经理','ANALYST','分析师') as job   from emp;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值