Oracle常用单行函数

1、将字段名转换为小写,查询员工表姓名 lower

select lower(ename) from emp;

2、将字段名转换为大写,查询job为manager的员工 upper

select * from emp where job = upper('manager');

3、substr 方法参数('被截取的字符串','从哪一位开始截取','截取的位数');

查询姓名以M开头的所有员工 substr

select * from emp where substr(ename,1,1)='M';

4、获取字段的长度 length

select length(ename) from emp;

5、去除首尾空格,但是不能去除中间空格  trim

select * from emp where job = trim('  MANAGER     ');

6、数据库格式匹配与字符串转换成date类型    to_date

select * from emp where HIREDATE = '20-2月-81';

select * from emp where hiredate = to_date('1981-02-20 00:00:00','YYYY-MM-DD HH24:MI:SS');

7、获取oracle系统当前日期

select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') nowTime from dual;

select sysdate from dual;

8、格式化to_char

查询1981-02-20以后入职的员工,将入职日期格式化为yyyy-mm-dd hh:mm:ss

select empno,ename,to_char(hiredate,'yyyy-mm-dd hh24:mi:ss') from emp where hiredate>to_char('1981-02-20 00:00:00','YYYY-MM-DD HH24:MI:SS');

查询员工薪水 加入千分位

select empno,ename,to_char(sal,'$999,999') from emp;

查询员工薪水 加入千分位 保留两位小数

select empno,ename,to_char(sal,'$999,999.00') from emp;

9、将字符串转换为数值

select * from emp where sal>to_number('1500','999,999');

10、nvl相当于mysql中的ifnull

select empno,ename,sal,comm,sal+nvl(comm,0) from emp;

11、case...when...then...when...then...end与decode

如果 job 为 MANAGERG 薪水上涨 10%,如果 job 为 SALESMAN 工资上涨 50%

select empno, ename, job, sal, (case job when 'MANAGER' then sal*1.1 when 'SALESMAN' then sal*1.5 end) as newsal from emp;

select empno, ename, job, sal, decode(job, 'MANAGER', SAL*1.1, 'SALESMAN', sal*1.5) as newsal from emp;

12、round  四舍五入

select round(1234567.4567, 2) from dual;

dual是oracle提供的,主要是方便使用。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值