您的位置:首页 > 数据库 > Oracle

Oracle数据库常用函数 转换函数 日期函数 字符型函数 数值函数

2019-01-24 14:53 176 查看

在讲解函数的功能和用法之前,先了解一下dual这个表。
dual这个表是一张只有一个字段,一行记录的表。它是一个虚拟表,用来构成select的语法规则。所以我们接下来会用到这个表来讲解常用函数。

一.数值函数:

  1. 取整函数 ceil(n)向上取整和floor(n)向下取整
    例:select ceil(21.1),floor(21.1),ceil(23.5),floor(23.5) from dual;

2.截取函数 trunc(n,m)n为你要截取的数值,m为截取长度当没有m是默认为0,截取整数部分。
例:select trunc(21.12),trunc(21.12,1),trunc(21.12,2),trunc(21.12,-1),trunc(21.12,-2) from dual;

3.四舍五入函数round(n,m)n为你的数值,m为长度当没有m是默认为0。
例:select round(21.1),round(21.1,1),round(21.1,-1),round(29.1,-1) from dual;

4.绝对值函数abs(n)
例:select abs(21.1),abs(-21.1) from dual;

5.取余函数mod(n,m) n为你取余的数值,m为你要和谁取余
例:select mod(9,2),mod(97,13) from dual;

6.幂函数power(n,m)n为你的子数m为你的幂
例:select power(2,3),power(3,2) from dual;

7.三角函数sin(n),cos(n),asin(n),acos(n)
例:select sin(3.14),cos(3.14),asin(0.123),acos(-0.99999873172754) from dual;

8.平方根函数sqrt(n)
例:select sqrt(9),sqrt(12) from dual;

9.返回值符号sign(n)
例:select sign(136),sign(-136) from dual;

二.字符型函数

1.截取函数substr(char1,m) 如果m为正数取掉前面m-1位数,如果为负数保留最后m位数。
例:select substr(‘diufhska’,3),substr(‘diufhska’,-3) from dual;

2.替换函数replace(char1,char2,char3) char1为你的原始数据,char2为要替换的数据,char3为替换成什么数据,如果char3为空则为删除char2这个数据。
例:select replace(‘asdkjfdh djskf edse’,‘dkj’,’-’),replace(‘asdkjfdh djskf edse’,‘dkj’,’’) from dual;

3.instr函数 instr(char1,char2)注意这个函数注重大小写
例:select instr(‘ABCpDGFDHDffffd’,‘d’),instr(‘ABCpDGFDHDffffd’,‘D’),instr(‘ABCpDGFDHDffffd’,‘c’) from dual;

4.连接函数||或concate
例:select concat(‘asdfg’,‘hjkl’),‘asdfg’||‘hjkl’ from dual;

5.去除函 TRIM([{{ LEADING | TRAILING | BOTH }[ trim_character ]} FROM ]trim_source) 其中leading去头 trailing 去尾,不写和both相同
例:select trim(‘a’ from ‘asfadga’),trim(leading ‘a’ from ‘asdfaga’),trim(trailing ‘a’ from ‘asfadga’),trim(both ‘a’ from ‘asdfaga’)from dual;

6.截取函数ltrim(char1,char2)
例:select ltrim(‘asdfghjkl’,’’),ltrim(‘asdfghjkl’,‘asdfghj’) from dual;

7.按长度截取lapd(char1,n)(截取函数怎么这么多???)
例:select lpad(‘asdfghjkl’,5),lpad(‘asdfghjkl’,‘9’),lpad(‘asdfghjkl’,20),lpad(‘asdfghjkl’,-1) from dual;

三.日期函数:

1.增加月份add_months(date,n)
例:select add_months(sysdate,3),add_months(sysdate,-3) from dual;

2.计算日期的最后一天last_day(date)
例:select last_day(to_date(‘2015-2-1’,‘yyyy-mm-dd’)),last_day(to_date(‘2015-1-1’,‘yyyy-mm-dd’)) from dual;

3.计算相差几个月months_between(date1,date2)
例:select months_between(to_date(‘2015-5-15’,‘yyyy-mm-dd’),to_date(‘2015-1-15’,‘yyyy-mm-dd’)) from dual;

4.获取想要的日期
例:select extract(year from sysdate),extract(month from sysdate) ,extract(day from sysdate),extract(hour from timestamp ‘2015-10-1 19:11:25’) from dual;

四.转换函数

1.to_number()转换为数字类型
例:select to_number(to_char(sysdate,‘yyyy’)) from dual;

2.to_char()转换为字符型
例:select to_char(sysdate,‘yyyy’) from dual;

3.to_date()转换为日期
例:select to_date(to_char(sysdate,‘yyyy-mm-dd’),‘yyyy-mm-dd’) from dual;

以上的函数名称是我瞎编的,请注意引用。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐