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. python学习之路(13)

    列表生成式 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, ...

  2. char、varchar 哪种的搜索效率高

    在MySQL 中char 和 varchar 都是存储字符串的,区别在于char有固定的长度,而varchar属于可变长的字符类型.char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于 ...

  3. 选题 Scrum立会报告+燃尽图 04

    本次作业要求参见:edu.cnblogs.com/campus/nenu/2019fall/homework/9913 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 徐丽君队名:胜利点 二.S ...

  4. Android Studio安装Unable to access Android SDK add-on list处理方法

    Unable to access Android SDK add-on list. 很多人写的加屏蔽语句,跳过检测,其实是不行的,因为最后还是要下载. 不翻墙的情况下,一般都是修改host文件:C:\ ...

  5. leetcode 146LRU cache

    class LRUCache { public: LRUCache(int capacity) {_capacity=capacity;} //返回key对应的value int get(int ke ...

  6. 函数参数<一>

    <1> 定义带有参数的函数 示例如下: def add2num(a, b): c = a+b print (c) <2> 调用带有参数的函数 以调用上面的add2num(a, ...

  7. Rate 评分

    评分组件 基础用法 评分被分为三个等级,可以利用颜色对分数及情感倾向进行分级(默认情况下不区分颜色).三个等级所对应的颜色用过colors属性设置,而它们对应的两个阈值则通过 low-threshol ...

  8. k8s, etcd 多节点集群部署问题排查记录

    目录 文章目录 目录 部署环境 1. etcd 集群启动失败 解决 2. etcd 健康状态检查失败 解决 3. kube-apiserver 启动失败 解决 4. kubelet 启动失败 解决 5 ...

  9. Oracle 笔记(四)

    PLSQL编程[语法.plsql控制语句.异常.游标.触发器.存储过程] 1.              PLSQL的语法–块编程 a)       概念:procedural language  s ...

  10. 报错:java.lang.NoClassDefFoundError: com/google/inject/Injector

    使用testng report,导入jar包:reportng.jar和velocity-dep-1.4.jar后,执行脚本,报错如下: 缺少依赖的jar包:guice-4.0.jar 导入依赖的ja ...