Oracle数据库常用函数

1.字符函数:
upper('字符串'|列名称)将输入的字符串转换成大写
lower('字符串'|列名称)将输入的字符串转换成小写
initcap('字符串'|列名称),首字母大写
length('字符串'|列名称);字符串长度
replace('字符串'|列名称);进行替换
substr(字符串 | 列,开始点 [,截取个数]):字符串截取;第一个数是开始的位置,第二个数字是从截取位置开始截取的个数
2.数字函数:
四舍五入
  select round(3.1415926,3) from dual;    //3.142
     select round(2554,-2) from dual;   //2600
舍弃小数位
select trunc(3.1415926,3) from dual;   //3.141
   select trunc(2554, -2) from dual;   //2500
3.日期函数
1).获取当前日期:sysdate;3天后的日期
select ename, sysdate+3 from emp;
2).||:管道符,拼接字符串
select ename||3 from emp;
3).last_day:获取当月最后一天
select last_day(sysdate) from dual;
   select last_day(hiredate) from emp;
   select * from emp where last_day(hiredate)='31-12月-80';
4).next_day:下一次出现星期X的日期
select next_day(sysdate,'星期日') from dual;
5).add_months:几个月之后的日期(加减月份)
select add_months(sysdate, 4) from dual;
6).month_between:获取两个日期之间的月份
select trunc(months_between('1-2月-2017',sysdate)) from dual;
4.转换函数
1).to_char:把日期(任意类型)转换成字符串
select sysdate||'' from dual
   select to_char(sysdate,'yyyy-mm-dd') from dual;
   //每隔3位加一个逗号
   select to_char(123456789,'999,999,999,999') from dual;
2).to_date:把任意类型转成时间日期
select to_char(to_date('1999-1-1 20:20:20','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') from dual;
3).to_number:把任意类型转成数字
select to_number('123')+123 from dual;
   //在数据库中"+"号只有一个意义,就是相加,没有拼接的意义
   select '123'+'123' from dual;
5.通用函数
查询雇员每月工资总和,基本工资+奖金
1).nvl
select ename ,sal+comm total from emp;
      //nvl处理null,nvl(列名称|具体的值,默认值)
      select ename, sal+nvl(comm, 0) total from emp;
2).decode
查询所有的员工信息,显示员工的中文职位 CLERK=办事人员,SALESMAN=销售人员,PRESIDENT=董事长,MANAGER=部门经理,ANALYST=分析人员
select job from emp group by job ;
//方法一:
select ename,
	case
	  when job='CLERK'
	  then '办事人员'
	    when job='SALESMAN'
	  then '销售人员'
	    when job='PRESIDENT'
	  then '董事长'
	    when job='MANAGER'
	  then '部门经理'
	  else '分析人员' 
	end 
	from emp;
//方法二:
select ename,decode(job,'CLERK','办事人员','SALESMAN','销售人员','PRESIDENT','董事长','MANAGER','部门经理','ANALYST','分析师') from emp;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值