oracle单行函数总结

单行函数的分类:

1.       字符函数

用于处理字符相关的业务

replace:select replace(ename,'A','中国')from emp;

 

instr:

查询出oracle traning第二个ra出现的位置:

select instr('oracle traing','ra',1,2)from dual;

 

ascii:返回与指定的字符对应的十进制数

 

chr:给出整数,返回对应的字符

 

 

concat:连接两个字符串:select concat(ename,好搞笑)from emp;

该函数和 || 的作用是一样的:select ename || 好搞笑 from emp;

 

initcap:将字符串的第一个字母变为大写

 

length:返回字符串的长度:select ename from emp where length(ename)=4;

 

lower(把所有字符都小写)和upper(把所有字符都大写)函数:

   案例:把雇员的名字分别用大写和小写显示出来:

select lower(ename),upper(ename)from emp;

案例2:把雇员的名字,首字母小写,其他字母大写:

   select lower(substr(ename,1,1)) || upper(substr(ename,2,length(ename)-1)) from emp;

lpad(左填充)和rpad(右填充):

select rpad(ename,30,*),sal from emp; :表示ename用3

0个字符显示,不够的用*填充

 

ltrim和rtrim的用法:select rtim(gao qian jingaaaa,a)from dual

返回来的结果是‘gao qian jing jing’;就是把右边的a全部删除

 

trim函数:去掉指定字符串或数字前后的某些字符

 

ceil函数  用于向上取整:select ceil(23.04)from dual;返回24

 

floor函数:用于向下取整

 

exp:返回一个数的e次方根:select exp(2)from dual;返回7.38905609

 

mod函数  取模(余数):select mod(5,3)from dual  返回2

 

round函数,用于四舍五入

 

trunc函数,用于截取小数(此函数没有指定取到几位,默认截取到整数,可以指定截取到小数第几位,如果截取到小数点前面的数字,则被截取的那个数字会用0来代替)

select  trunc(54.25524552,5)from dual   返回54.25524

select  trunc(54.25524552,-1)from dual   返回50

 

sign:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0:select sign(-8)from dual

 

add_months(日期值,增加的月份)函数:把月份加上几个月:select add_months(hiredate,2)from emp;

 

sysdate函数:获取系统的当前时间

只获取日期:select  sysdate  from  dual

获取日期与具体的时间select to_char(sysdate,yyyy-mm-dd:hh24:mi:ss)from dual;

 

last_day函数:返回日期的最后一天:select last_day(sysdate)from dual;

 

next_date(day,day):用于返回离sysdate最近的星期几是几号

 

to_char(number/date/char):

 转换日期:1999-11-11 12:12:12 显示日期

to_char 可以有选择的显示:

比如,查询出1981年入职的员工:

select ename,job,sal from emp where to_char(hiredate,'yyyy')='1981';

select to_char(sysdate,yyyy-mm-dd:hh24:mi:ss)from dual;

按照货币格式显示工资:select to_char(sal,'L999G999D99')from emp;:L代表货币符号,G代表两位数分一组,D表示保留两位小数

 

to_number:将字符转换为数字

 

decode:根据不同的情况显示不同的信息(有点像switch语句):

select decode(deptno,10,'10哈哈',20,'20呵呵',30,'30嘻嘻')from emp;

 

 

avg(distinct sal):不会对相同的值进行统计;该函数默认是all



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值