1) trunc函数,用于截断数字,

截断数字,用法为:trunc(n1,n2),n1表示要被截断的数字,n2表示要截断到那位,但是不会进行四舍五入。

n2还可以表示负数,表示截断到小数点前,意思就是小数点后面的都不要了,最后结果是以0结尾的整数。

当trunc(n1,n2)当n2为负数时,-1表示个位为0,-2表示个位和十位都为0,后面一次类推。
SQL> select trunc(13.1) from dual;

TRUNC(13.1)
-----------
13

SQL> select trunc(13.23,2)from dual;

TRUNC(13.23,2)
--------------
13.23

SQL> select trunc(13.23,1)from dual;

TRUNC(13.23,1)
--------------
13.2

SQL> select trunc(13.23432,3)from dual;

TRUNC(13.23432,3)
-----------------
13.234

SQL> select trunc(13.2,-1)from dual;

TRUNC(13.2,-1)
--------------
10

SQL> select trunc(119.2,-1)from dual;

TRUNC(119.2,-1)
---------------
110

SQL> select trunc(120.2,-1)from dual;

TRUNC(120.2,-1)
---------------
120

SQL> select trunc(120.2,-2)from dual;

TRUNC(120.2,-2)
---------------
100

SQL> select trunc(1220.11,-3)from dual;

TRUNC(1220.11,-3)
-----------------
1000

SQL> select trunc(12230.11,-4)from dual;

TRUNC(12230.11,-4)
------------------
10000

2)trunc用于截断日期

SQL> select trunc(sysdate)from dual;//返回当前日期

TRUNC(SYSDATE)
--------------
2019/05/21

SQL> select trunc(sysdate,'mm')from dual;//返回当前月份的第一天

TRUNC(SYSDATE,'MM')
-------------------
2019/05/01

SQL> select trunc(sysdate,'yyyy')from dual;//返回当前年份的第一天

TRUNC(SYSDATE,'YYYY')
---------------------
2019/01/01

SQL> select trunc(sysdate,'dd')from dual;//返回当前日期

TRUNC(SYSDATE,'DD')
-------------------
2019/05/21

SQL> select trunc(sysdate,'d')from dual;//返回当前星期的第一天(为星期天,工作的第一天为星期一)

TRUNC(SYSDATE,'D')
------------------
2019/05/19

SQL> select trunc(sysdate,'hh')from dual;//返回当前小时

TRUNC(SYSDATE,'HH')
-------------------
2019/05/21 15:00:00

SQL> select trunc(sysdate,'mi')from dual;//返回当前时间的分钟,没有秒的精确,只有毫秒。

TRUNC(SYSDATE,'MI')
-------------------
2019/05/21 15:20:00

3)add_months(时间,数字)表示可以得到某一时间之前或之后n个月的时间;

SQL> select add_months(sysdate,1)from dual;//获取当前时间一个月之后的时间

ADD_MONTHS(SYSDATE,1)
---------------------
2019/06/21 15:37:02

SQL> select add_months(sysdate,6)from dual;//获取到当前时间半年之后的时间

ADD_MONTHS(SYSDATE,6)
---------------------
2019/11/21 15:37:20

4)months_between函数返回两个日期之间的月份数。如果两个日期月份内天数相同,或者都是某个月的最后一天,返回一个整数,否则,返回数值带小数,以每天1/31月来计算月中剩余天数。

MONTHS_BETWEEN (x, y)用于计算x和y之间有几个月。如果x在日历中比y早,那么MONTHS_BETWEEN()就返回一个负数。
当x 和 y 之间的月份之差不是整月的时候,可以采用小数表示。
months_between(date1, date2),必须注意的是,date1与date2都为Date类型,不然会出现错误。须用to_date(‘’,'') 来转换为日期格式,才能参加计算。

SQL> select months_between(sysdate,'10-5月-20')from dual;

MONTHS_BETWEEN(SYSDATE,'10-5月-20')
----------------------------------
-11.6239557198327

select months_between('10-5月-20',sysdate)from dual;

MONTHS_BETWEEN('10-5月-20',SYSDATE)
----------------------------------
11.6239329450418

SQL> select months_between('21-5月-20',sysdate)from dual;

MONTHS_BETWEEN('21-5月-20',SYSDATE)
----------------------------------
12

oracle常用函数(2)的更多相关文章

  1. Oracle常用函数

    前一段时间学习Oracle 时做的学习笔记,整理了一下,下面是分享的Oracle常用函数的部分笔记,以后还会分享其他部分的笔记,请大家批评指正. 1.Oracle 数据库中的to_date()函数的使 ...

  2. Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数

    首先在oracle中没有datediff()函数可以用以下方法在oracle中实现该函数的功能:1.利用日期间的加减运算天:ROUND(TO_NUMBER(END_DATE - START_DATE) ...

  3. oracle常用函数总结(二)

    之前也有写过“oracle常用函数总结(一)”,为了尽量找全常见oracle函数,笔者特意查找了相关资料来作为参考,下边给大家罗列出来,部分和之前有重复的,希望能帮到大家! 列举了31个函数和1个分组 ...

  4. oracle常用函数总结

    Oracle常用函数总结 ---oracle常用函数-----一.数值型常用函数----取整数--select floor(10.1) from dual;--将n四舍五入,保留小数点后m位(默认情况 ...

  5. oracle常用函数整理

    oracle常用函数整理    1.绝对值.取余.判断数值正负函数    绝对值:ABS(n)        示例: SELECT ABS(100),ABS(-100),ABS('100') FROM ...

  6. oracle常用函数积累

    --oracle常用函数积累-- --1.字符串长度:LENGTH ,语法: CONCAT(string) --示例 select LENGTH('AA_BB') from dual;--结果:5 - ...

  7. ORACLE常用函数的使用方法

    ORACLE常用函数的使用方法 1. 字符串函数 (1) length(); 获取字符长度SELECT LENGTH('中国') FROM PLATFORM_METAINFO_TABLES WHERE ...

  8. SQL操作数据——SQL组成,查询基础语法,where,Oracle常用函数等

    SQL组成 DML数据操作语言 DCL数据控制语言 DQL数据查询语言 DDL数据定义语言 查询基础语法 记录筛选 where 子句 记录筛选 where 子句 实例练习 实例练习 Select语句中 ...

  9. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  10. 十、oracle 常用函数

    一.字符函数字符函数是oracle中最常用的函数,我们来看看有哪些字符函数:lower(char):将字符串转化为小写的格式.upper(char):将字符串转化为大写的格式.length(char) ...

随机推荐

  1. 分布式-信息方式-JMS信息结构

    JMS的消息结构JMS消息由以下几部分组成:消息头,属性和消息体消息头包含消息的识别信息和路由信息,消息头包含一些标准的属性如下:1: JMSDestination:由send方法设置2: JMSDe ...

  2. apache的httpclient进行http的交互处理

    使用apache的httpclient进行http的交互处理已经很长时间了,而httpclient实例则使用了http连接池,想必大家也没有关心过连接池的管理.事实上,通过分析httpclient源码 ...

  3. Java实现QQ微信轰炸机1.2(斗图乞丐版)

    之前有小可爱评论可以实现斗图的功能,原理上是行的通的,所以我就稍微改了一下,能够实现单个图片循环轰炸,如果大家感兴趣也可以自己探究实现多张图片循环轰炸,不废话了,直接上源码package QQWcha ...

  4. C++入门经典-例3.20-使用continue跳出循环

    1:continue不是立即跳出循环体,而是跳过本次循环结束前的语句,回到循环的条件测试部分.代码如下: // 3.20.cpp : 定义控制台应用程序的入口点. // #include " ...

  5. java实现二分法查找

    一 前提 使用二分法查找的前提是:有序的数组,没有重复的数据元素.如果没有排序过的,需先排序. 二分法查找时使用场景为:数据量较大时 二 代码 package com.xiao.day01; publ ...

  6. fastjson解析list ,object中含有list, object中含有map

    1.首先定义测试vo package com.haiyisoft.cAssistantWeb.ui; import java.sql.Timestamp; public class vo {priva ...

  7. UniEAP V4 WorkShop用户手册

    版权声明<UniEAP V4 WorkShop用户手册>的版权归东软集团(大连)有限公司所有.未经东软集团(大连)有限公司的书面准许,不得将本手册的任何部分以任何形式.采用任何手段(电子的 ...

  8. Matlab学习笔记1—MATLAB基础知识

    1.1  MATLAB系统环境 1.MATLAB操作界面的组成 (1)MATLAB主窗口 (2)命令行窗口:命令行窗口用于输入命令并显示命令的执行结果. (3) 当前文件夹窗口 如何设置当前文件夹呢? ...

  9. 意想不到的JavaScript(每日一题3)

    题目: 答案: 1 4 3 2 解析:

  10. 手写BP(反向传播)算法

    BP算法为深度学习中参数更新的重要角色,一般基于loss对参数的偏导进行更新. 一些根据均方误差,每层默认激活函数sigmoid(不同激活函数,则更新公式不一样) 假设网络如图所示: 则更新公式为: ...