Oracle学习:数值函数与转换函数

一、数值函数

(1) round:四舍五入

 select round(45.926, 2), round(45.926, 1), round(45.926, 0), round(45.926, -1), round(45.926, -2) 五 from dual;// 45.93 45.9 45 50 0

(2) trunc:截取

 select trunc(45.926, 2), trunc(45.926, 1), trunc(45.926, 0), trunc(45.926, -1), trunc(45.926, -2) 五 from dual;//45.92 45.9 45 40 0

(3) mod:取模

select mod(1600, 300) from dual; //100 

(4)ceil: 向上取整 floor:向下取整

 select ceil(121/30), floor(121/30) from dual;// 5 4

二、转换函数

(1) to_char 和 to_number
把薪水转换为本地货币字符型

select empno,sal,to_char(sal,'L9,999') from emp; // L是本地货币符号 9表示一位数字  ,表示千位符

把上述某个结果转回数值型

select to_number('¥2,975','L9,999') from dual;

(2)to_char 与 to_date
显示 “yyyy-mm-dd hh24:mi:ss 今天是 星期几”

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss "今天是" day') from dual; // day:星期几

将上述输出字符串反转回日期

select to_date('2017-12-04 01:12:48 今天是星期一', 'yyyy-mm-dd hh24:mi:ss "今天是" day')from dual; 

查询 1981-11-17 日入职的员工信息:

 select * from emp where to_char(hiredate, 'YYYY-MM-DD') = '1981-11-17';
 select * from emp where hiredate = to_date('1981-11-17', 'YYYY-MM-DD');

(3) oracle 的隐式转换和显示转换:

 select 11+'22' from dual;//会做隐式转换, 将'22'转换成 22
 select 11+to_number('22') from dual;
 select '11' || 22 from dual;
 select '11' || to_char(22) from dual;
 select 11+'22' from dual; // 会做隐式转换, 将 22 转换成'22'

总结:当没有明确转换函数的时候, 如果类型不一致, 会进行隐式转换。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值