oracle中的常用函数、字符串函数、数值类型函数、日期函数,聚合函数。

一、字符串的常用函数。

--一、oracle 字符串常用函数
--1. concat  连接字符串的函数,只能连接【两个】字符串。 字符写在括号中,并用逗号隔开!
--2.“||”符号可以连接多个字符串 直接用||将多个字符链接即可。
--3. dual?   dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.
select concat('lo','ve')from dual;
select concat('o','k')from dual;
select concat ('he','llo')from dual;

select 'l'||'o'||'v'||'e'from dual;
select ''||''||''||''||''||''||''from dual;
select 'z'||'x'||'f'||'f'||'d'||'b'from dual;

--4.initcap   将每个单词的首字母大写。有效位 1位
select initcap('sss')from dual;
select initcap('qing')from dual;

--5.instr(母字符串,字符串)返回子字符串在母字符串中首次出现的位置,下标从1开始。
select instr('sdfasdfasdf','fa')from dual;
select instr('aaaaaaaaaf','f')from dual;

--6.upper将所有字母变大写 lower变小写  (有效位都是 1 )
select upper('wer')from dual;
select lower('ASDF')from dual;

--7.lpad(母字符串,n,字符串)在母字符串的左边补充子字符串。n代表补充之后达到的字符数量。
select lpad('aaa',16,'di')from dual;
select lpad('life',16,'love')from dual;

--8.rpad 在右边补充
select rpad('life',16,'love')from dual;

--9.字符串删除函数 ltrim(删除左边的空格)  rtrim(删除右边的空格) 
select ('               life')from dual;
select rtrim('      life       ')from dual;

--10. substr  截取字符串,第一参数  需要处理的字符串  ,二参数 从何开始,三参数,截取的max
select substr('春有百花秋有月',3,2)from dual;
select substr('夏有凉风冬有雪',3,2)from dual;

--11.replace 替换字符串,1参数  需要处理  2参数 被替换的字符串 3替换后的字符串
select replace('城模是金','城模','沉默')from dual;

--12.字符去除  
--trim  leading前           trailing后  both 二者都
select trim (leading '*'from '*****aaa******')from dual;
select trim (trailing '*' from '    aaaa*******')from dual;
select trim (both '*' from '****aa****')from dual;

 

 

二、数值类型的常用函数。

--二、处理数值类型的常用函数
--1.abs     返回指定值的绝对值
select abs(-13)from dual;

--2.ceil    返回大于或等于给出数字的最小整数  就是向上取值!3.1---->4
select ceil(3.1)from dual;     
select ceil(0.123)from dual;   

--3.floor   对给定的数字取整数   就是向下取值!3.91---->3 
select floor (3.91)from dual;      

--4.mod(n1,n2) n1/n2  取余数  8/3------2
select mod(8,3)from dual;

--5.power(n1,n2) n1的n2次方 4,3-----4的3次方----64
select power(4,3)from dual;

--6.sign    取数字n的符号,大于0返回1,小于0返回-1,等于0返回0
select sign (45)from dual;
select sign(-89)from dual;
--7.round 按照指定的精度四舍五入! 这里保留小数点后4位 看第五位小数的值,来进行四舍五入。
select round (2.945414,4)from dual;

--8.trunc   按照指定的精度截取一个数,仅仅只做截取,不做四舍五入!
select trunc(2.9199,3) from dual;
select trunc(3.1269,3) from dual;

 

三、日期函数。

-- 三、日期函数
--1.sysdate            获取当前日期  2019/5/8 19:12:03
select sysdate from dual;

--2.last_day           返回本月的最后一天  2019/5/31 19:11:54
select last_day (sysdate)from dual;

--3.add_months          加一个月  2019/6/8 19:11:30
select add_months(sysdate,1)from dual;

--4.MONTHS_BETWEEN(date2,date1) 给出date2和date1相差的月份
select months_between(sysdate,'10-5月-2015')from dual;
select months_between(sysdate,'8-5月-2020')from dual;

--5.trunc(date,fmt) 按指定格式截取日期 fmt 可以是 hh(年月日 时 ) mm(当前月的1号) dd(当前日子)
select trunc(sysdate,'hh' )from dual;

--6.to_char() 把数字或者日期转换为字符串。转换日期to_char(日期,要转换成的日期的格式)  hh12 和hh24   12小时制 和 24小时制
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')from dual;
select to_char(sysdate,'yyyy-mm-dd hh12:mi:ss')from dual;

--7.to_date() 把字符串转换为日期 有两个参数,第一个参数是要转换的日期的字符串,第二个参数 日期字符串的格式
select to_date('2012-5-12','yyyy-mm-dd')from dual;
select to_date('1995-10-06','yyyy-mm-dd')from dual;

--8.next_day  NEXT_DAY(date,'day') 给出日期date和星期x之后计算下一个星期的日期   当前是 2019/5/8 19:36:01 next_day 计算下礼拜几的当前时间。                            
select next_day(sysdate,'星期二')from dual;
select sysdate from dual;

 

四、聚合函数。

--四、聚合函数 max  min  count sum avg
--1.求员工平均工资
select avg(sal) from emp;

select avg(distinct sal) from emp;--如果工资中有重复的值,则只计算一次

--2.求员工max资
select max(sal) from emp;

--3.求员工min资
select min(sal) from emp;

--3.求xx总数量
select count(deptno) from emp;

 

posted @ 2019-05-08 20:02  送外卖的小菜鸟  阅读(611)  评论(0编辑  收藏  举报