Oracle数据库 (1)函数介绍

 

1.字符串操作函数:

concat只能连接两个字符,而“||”可以连接多个字符。

格式1: substr(string string, int a, int b);    1、string 需要截取的字符  2、a 截取字符串的开始位置(注:当a等于0或1时,都是从第一位开始截取  3、b 要截取的字符串的长度

格式2:substr(string string, int a) ;   1、string 需要截取的字符串  2、a 可以理解为从第a个字符开始截取后面所有的字符串。

instr函数返回要截取的字符串在源字符串中的位置。只检索一次

lpad函数将左边的字符串填充一些特定的字符,rpad函数将右边的字符串填充一些特定的字符

TRIM函数的作用可以去除字符串的空格

 

2.数字操作函数:

 

Round(exp1,exp2)函数具有四舍五入的功能,分为以下两种情况:

1.exp2数为非负

四舍五入的位数从小数点后开始计数,小数点后|exp2|位,看後一位,进本位,后面舍去

select Round(125.455,0) from dual   ---125
select Round(125.455,1) from dual   ---125.5
select Round(125.455,4) from dual   ---125.455  大于小数位数,其余的位数补0将不显示

2.exp2数为负

四舍五入的位数从小数点前开始计数,小数点前|exp2|位,看本位,进前一位,本位以及后面取0

select Round(125.455,-1) from dual   ---130
select Round(125.455,-2) from dual   ---100
select Round(125.455,-3) from dual   ---0
select Round(125.455,-4) from dual   ---0

oracle中的trunc()函数是对时间类型或者数字进行截取操作的: 

一般用法为trunc(Date,“fmt”),其中fmt 是我们要展示的时间字段,或者trunc(number),该函数表示取整。

trunc(number)的用法一般有以下几种:

trunc(55.5,-1) = 50;//-1(负数)表示从小数点左边第一位截取后面全置为零;

trunc(55.55,1) = 55.5;//1(正数)表示小数点后面保留一位;

trunc(55.55) = 55;//截取整数部分;默认小数点后保留0位

trunc 函数可用于截取日期时间

用法:trunc(字段名,精度)

具体实例:

在表table1中,有一个字段名为sysdate,该行id=123,日期显示:2016/10/28 15:11:58

trunc(sysdate,'yyyy');//返回当前年的第一天

trunc(sysdate, 'mm');//返回当前月的第一天

trunc(sysdate, 'dd');//返回当前时间的年月日

trunc(sysdate, 'd');//返回当前星期的第一天

trunc(sysdate, 'hh');//返回当前小时

 

1、截取时间到年时,sql语句如下:

select trunc(sysdate,'yyyy') from table1 where id=123;  --yyyy也可用year替换

显示:2016/1/1

2、截取时间到月时,sql语句:

select trunc(sysdate,'mm') from table1 where id=123;

显示:2016/10/1

3、截取时间到日时,sql语句:

select trunc(sysdate,'dd') from table1 where id=123;

显示:2016/10/28

4、截取时间到小时时,sql语句:

select trunc(sysdate,'hh') from table1 where id=123;

显示:2016/10/28 15:00:00

5、截取时间到分钟时,sql语句:

select trunc(sysdate,'mi') from table1 where id=123;

显示:2016/10/28 15:11:00

 

oracle中取余是用函数mod(m,n),其中m和n都是数字:

SELECT MOD(1200, 500) FROM dual
 
因为1200/500结果为2余200,所以输出结果:200
 
SELECT MOD(1200, 0) FROM dual
 

 

3.日期操作函数:

1.sysdate  

     用途:获取当前系统时间。

2.to_date('字符类型','日期类型') 

     用途:将字符类型转化成日期类型的函数,主要用于插入、查询和修改。

3.to_char('日期类型','字符类型')

    用途:将日期类型转换为字符类型的函数,主要用于查询,也可以进行删除使用。

1.sysdate

没啥好说的,使用非常简单。

2.to_date('字符类型','日期类型') 

我们使用scott用户自带的表给大家介绍该函数的使用。先给大家介绍第一种使用方法。to_date用于插入数据:

--插入数据 
insert into emp(empno,hiredate) values(8888,'1991-09-22');
commit; --错误写法

这是一个错误写法,因为插入的数据类型是字符类型,不是我们要的日期类型,需要将字符类型转换为日期类型。看下面的改进姿势:

insert into emp(empno,hiredate) values(8888,to_date('1991-09-22','yyyy-mm-dd'));
commit;  --正确写法

查看运行结果:

如果,觉得插入的日期不够爽,可以增加时分秒比如:好好hh24:mi:ss

insert into emp(empno,hiredate) values(8889,to_date('1991-09-22 22:18:23','yyyy-mm-dd hh24:mi:ss'));
commit;  --正确写法

插入成功后,我们看下插入后的结果:

 

第二种,使用to_date进行查询数据

--查找数据 
select * from emp where hiredate=to_date('1981-2-22','yyyy-mm-dd')

查询结果如下:

第三种,使用to_date进行修改数据

--修改数据 
update emp set hiredate=to_date('1981-12-20','yyyy-mm-dd') where empno=7499;

查看修改后的结果:

3.to_char('日期类型','字符类型')

第一种:使用to_char进行查询,hiredate的数据被修改。

--查询数据
select * from emp where to_char(hiredate,'yyyy')=1991;

查看结果:

第二种:使用to_char进行删除操作,删除dd=3的日期,

--删除数据
select * from emp where to_char(hiredate,'dd')=3;

温馨提示:to_char不可以用来做修改。用的比较多的就是查询和删除数据。

 

4.数据类型转换

TO_CHAR() 函数:日期到字符串的转换

TO_DATE() 函数:字符串到日期的转换

TO_NUMBER() 函数:字符串到数字的转换:


 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值