文档章节

【oracle】关于处理小数点位数的几个oracle函数

_______-
 _______-
发布于 2017/02/02 21:01
字数 578
阅读 15
收藏 0
  1. 取四舍五入的几位小数
select round(1.2345, 3) from dual;

结果:1.235 2. 保留两位小数,只舍

select trunc(1.2345, 2) from dual;

结果:1.23

select trunc(1.2399, 2) from dual;

结果:1.23

3.取整数 返回大于或等于x的最大整数:

      SQL>         select         ceil(23.33)         from         dual;  

结果: 24

返回等于或小于x的最大整数:
``` SQL> select floor(23.33) from dual;

结果:   23  
   
返回舍入到小数点右边y位的x值:rcund(x,[y])  
 SQL>         select         round(23.33)         from         dual;  
结果:    23  
   
返回截尾到y位小数的x值:trunc(x,[y])  
      ```
  SQL>         select         trunc(23.33)         from         dual;  

结果: 23

格式化数字

 The following are number examples for the to_char function.

 ```  to_char(1210.73, '9999.9') would return '1210.7'   to_char(1210.73, '9,999.99') would return '1,210.73'   to_char(1210.73, '$9,999.00') would return '$1,210.73'   to_char(21, '000099') would return '000021'



to_char函数特殊用法
  ```
to_char(sysdate,'d') 每周第几天
  to_char(sysdate,'dd') 每月第几天
  to_char(sysdate,'ddd') 每年第几天
  to_char(sysdate,'ww') 每年第几周
  to_char(sysdate,'mm') 每年第几月
  to_char(sysdate,'q') 每年第几季
  to_char(sysdate,'yyyy') 年

  比如要找某个时间为每周第几天就可以   ``` SQL> select to_char(to_date('20070101','yyyymmdd'),'d') from dual;


1.instr


在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。


语法如下:instr( string1, string2 [, start_position [, nth_appearance ] ] )


string1 源字符串,要在此字符串中查找。

string2 要在string1中查找的字符串.

start_position 代表string1 的哪个位置开始查找。此参数可选,如果省略默认为1. 字符串索引从1开始。如果此参数为正,从左到右开始检索,如果此参数为负,从右到左检索,返回要查找的字符串在源字符串中的开始索引。


nth_appearance 代表要查找第几次出现的string2. 此参数可选,如果省略,默认为 1.如果为负数系统会报错。


注意:

如果String2在String1中没有找到,instr函数返回0.


应用于:

Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g
举例说明:

select instr('abc','a') from dual; -- 返回 1 select instr('abc','bc') from dual; -- 返回 2 select instr('abc abc','a',1,2) from dual; -- 返回 5 select instr('abc','bc',-1,1) from dual; -- 返回 2 select instr('abc','d') from dual; -- 返回 0



注:也可利用此函数来检查String1中是否包含String2,如果返回0表示不包含,否则表示包含。

© 著作权归作者所有

_______-
粉丝 4
博文 97
码字总数 38756
作品 0
宝山
程序员
私信 提问
MySQL和Oracle的一点小记录

以特定格式将数据存储并能进行操作的文件系统。 Oracle,Microsoft,IBM 数据库系统管理图形化工具。 目录结构:数据库管理系统--数据库--表--数据; 规范和方言; 数据库:select,from,where...

tinder_boy
2018/08/02
0
0
Oracle的NUMBER数据类型

一、NUMBER (precision, scale) 1、precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度。 2、如果scale大于零,表示数字精确到小数点右边的位数;scale默认...

HarleyZhuge
2018/02/28
4
0
Oracle和SQL server的数据类型比较

类型名称 Oracle SQLServer 比较 字符数据类型 CHAR CHAR 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb 变长字符数据类型 VARCHAR2 VARCHAR Oracle里面最大长度...

Adairs
2016/03/10
22
0
oracle数据类型--数值类型

NUMBE:Oracle NUMBER类型能以极大的精度存储数值,具体来讲,精度可达38位。其底层数据格式类似一种“封包小数“表示。Oracle NUMBER类型是一种变长格式,长度为0~22字节。它可以存储小到1...

Annabelle319
2018/08/22
116
0
float与double的范围和精度

范围 float和double的范围是由指数的位数来决定的。 float的指数位有8位,而double的指数位有11位,分布如下: float: 1bit(符号位) 8bits(指数位) 23bits(尾数位) double: 1bit(符...

面码
2014/08/22
36
0

没有更多内容

加载失败,请刷新页面

加载更多

3_数组

3_数组

行者终成事
今天
7
0
经典系统设计面试题解析:如何设计TinyURL(二)

原文链接:https://www.educative.io/courses/grokking-the-system-design-interview/m2ygV4E81AR 编者注:本文以一道经典的系统设计面试题:《如何设计TinyURL》的参考答案和解析为例,帮助...

APEMESH
今天
7
0
使用logstash同步MySQL数据到ES

概述   在生成业务常有将MySQL数据同步到ES的需求,如果需要很高的定制化,往往需要开发同步程序用于处理数据。但没有特殊业务需求,官方提供的logstash就很有优势了。   在使用logstas...

zxiaofan666
今天
10
0
X-MSG-IM-分布式信令跟踪能力

经过一周多的鏖战, X-MSG-IM的分布式信令跟踪能力已基本具备, 特点是: 实时. 只有要RX/TX就会实时产生信令跟踪事件, 先入kafka, 再入influxdb待查. 同时提供实时sub/pub接口. 完备. 可以完整...

dev5
今天
7
0
OpenJDK之CyclicBarrier

OpenJDK8,本人看的是openJDK。以前就看过,只是经常忘记,所以记录下 图1 CyclicBarrier是Doug Lea在JDK1.5中引入的,作用就不详细描述了,主要有如下俩个方法使用: await()方法,如果当前线...

克虏伯
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部