单行函数的分类:
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:把雇员的名字,首字母小写,其他字母大写:
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函数
floor函数:用于向下取整
exp:返回一个数的e次方根:select exp(2)from dual;返回7.38905609
mod函数
round函数,用于四舍五入
trunc函数,用于截取小数(此函数没有指定取到几位,默认截取到整数,可以指定截取到小数第几位,如果截取到小数点前面的数字,则被截取的那个数字会用0来代替)
select
select
sign:取数字n的符号,大于0返回1,小于0返回-1,等于0返回0:select sign(-8)from dual
add_months(日期值,增加的月份)函数:把月份加上几个月:select add_months(hiredate,2)from emp;
sysdate函数:获取系统的当前时间
只获取日期:select
获取日期与具体的时间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):
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