当前位置 > 主页 > 万和大讲堂 >


Oracle中的数值函数整理

2016-03-08 11:03

  对Oracle的数值函数多知道一些还是有好处的,做商业报表类的项目的时候会经常用到。 起码要知道Oracle都给我们提供了哪些处理函数,不要到时候需要用的时候却不知道某个函数的存在而导致开发过程绕弯子。今天我就捧着一本《oracle database11g完全参考手册》将Oracle提供给我们的数值函数从头捋了一遍。南京Oracle认证培训

 

  主要分为三块介绍(单值函数、聚合函数、列表函数)

 

  一、单值函数(比较简单,看一遍基本也就理解记住了)

 

  1、基本加减乘车没有什么可说的,只需要注意一点,任何值与null一起运算 ,结果都为null,因为null代表着未知值,与null进行加减乘除运算得到的还是未知值,返回的结果还是null。南京Oracle认证培训

 

  select 3+null ,3-null,3*null,3/null from dual --执行结果都是null

 

  2、nvl和nvl2 空值置换函数

 

  以前单独写过 ,这里不说了

 

  3、abs 绝对值函数

 

  select abs(2.1),,abs(-2.1) from dual--执行结果都是2.1

 

  4、ceil 、 floor 这两个也比较简单啦

 

  ceil 只入不舍函数

 

  floor 只舍不入函数

 

  select ceil(-2.6),ceil(2.6), floor(-2.6),floor(2.6) from dual

 

  执行结果依次为 -2 3 -3 2

 

  5、round 和 trunc 又是一对有关系的函数

 

  round 按照给定精度进行舍入 两个参数,第一个代表要处理的数值,第二个代表精度,第二个参数可以省略,省略的时候默认值为0

 

  trunc 按照给定精度截取数字 两个参数,第一个代表要处理的数值,第二个代表精度,第二个参数可以省略,省略的时候默认值为0。南京Oracle培训

 

  select round(2.615),round(-2.615),round(2.615,0),round(-2.615,0) ,round(2.615 ,1),round(-2.615,1),round(2.615 ,2),round(-2.615,2) from dual

 

  执行结果依次为 3 -3 3 -32.6-2.62.62-2.62

 

  select trunc(2.615),trunc(-2.615),trunc(2.615,0),trunc(-2.615,0) ,trunc(2.615 ,1),trunc(-2.615,1),trunc(2.615 ,2),trunc(-2.615,2) from dual

 

  执行结果依次为1 2 -2 2 -22.6-2.62.61-2.61  南京Oracle认证培训

 

  注意 : round 和 trunc 这两个函数的第二个参数可以为负值,就是从小数点开始往左数

 

  select round(248.1,-1),round(-248.1,-1),round(248.1,-2),round(-248.1,-2) from dual

 

  执行结果依次为 250 -250 200 -200

 

  select trunc(248.1,-1),trunc(-248.1,-1),trunc(248.1,-2),trunc(-248.1,-2) from dual

 

  执行结果依次为 240 -240 200 -200

 

  6、mod 取余函数

 

  select mod(100,5),mod(22,23),mod(10,4),mod(-10,4),mod(-21.12,7),mod(100,0),mod(100,-21),mod(0,2) from dual

 

  执行结果依次为 0 22 2 -2 -0.12 10016 0

 

  需要注意的是数值为负值和0的情况

 

  根据 mod(value,1) 是否等于0可以判断value值是否为整数。南京Oracle认证培训

 

  7、power 和 sqrt 分别是求平方和求平方根的意思

 

  select power(3,2),power(2,-2),SQRT(9),sqrt(0) from dual

 

  执行结果依次为 9 0.25 3 0

 

  需要注意的地方:

 

  sqrt是求平方根的,它就一个参数,而且必须是非负数。

 

  Oracle中 0.5可以省略成.5 今天看到.5这个字样的时候着实纠结了一会

 

  8、sign 判断一个数值是正数 还是负数 还是0 正数返回1负数返回-1 0返回0 这个还是比较常用的

 

  select sign(2.1),sign(0),sign(-2.1) from dual  南京Oracle认证培训

 

  执行结果依次为 1 0 -1

 

  9、其余的一些幂运算 、 三角函数运算的函数就不介绍了,平时的商业开发很少用到,科技工作中会比较常用吧。


最近开班 more>
  • Web前端开发
  • 软件测试
  • 软件测试预科班
  • AI大模型+全栈开发开班
  • 云原生精英班
  • 云网预科班
  • 开发课程基础班第三期
  • 开发课程基础班第二期
  • 开发课程基础班第五期
  • Java全栈
  • CISP
  • HCIP-cloud
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • HCIE-Datacom(HCIA,HCIP基础)
  • HCIP-Datacom(HCIA基础)
  • HCIA-Datacom(0基础)
  • OCP 19C
  • RHCA
  • 6月9日
  • 5月21日
  • 5月14日
  • 6月9日
  • 5月7日
  • 5月26日
  • 5月19日
  • 5月12日
  • 6月3日
  • 6月9日
  • 随时开课
  • 7月12日
  • 5月19日
  • 5月19日
  • 5月7日
  • 5月10日
  • 5月24日
  • 5月24日
  • 随时开课
  • 随时开课
    • 姓 名 :
    • 电 话 :
    • 课 程 :

技术交流群

  • Java大数据交流群560819979加入
  • Python技术交流群595083299加入
  • Oracle技术交流群595119011加入
  • Web前端技术交流群604697610加入
  • Huawei技术交流群482919361加入
  • Redhat技术交流群587875348加入
  • UI设计技术交流群511649801加入
  • Cisco技术交流群596886705加入
  • IT运维技术交流群605888381加入