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. java web项目启动时浏览器路径不用输入项目名称方法

    http://blog.csdn.net/qq542045215/article/details/44923851

  2. 20175215 2018-2019-2 第一周Linux虚拟机环境调试及java程序调试学习总结

    一.Linux虚拟机的java环境调试 之前直接在终端中使用export直接配置java的运行环境,导致每次终端被重启的时候都要重新配置java的运行环境,直到看到老师的博客Intellj IDEA ...

  3. VUE生命周期demo

    <!DOCTYPE html> <html>   <head>     <title></title>     <script typ ...

  4. Parcelable和Serializable

    本文主要介绍Parcelable和Serializable的作用.效率.区别及选择,关于Serializable的介绍见Java 序列化的高级认识. 1.作用 Serializable的作用是为了保存 ...

  5. 介绍一下 NDK?

    1.NDK 是一系列工具的集合 NDK 提供了一系列的工具,帮助开发者快速开发 C(或 C++)的动态库,并能自动将 so 和 java 应用一起打包成 apk.NDK 集成了交叉编译器,并提供了相应 ...

  6. Custom Configuration 的两种方法:1.Configuration Sections

    第一种Configuration Sections 1.App.config 2.CustomConfigurationManager.cs 3.TestProgram.cs. App.config ...

  7. Dart学习笔记-变量常量数据类型

    变量和常量 1.变量的定义 main() { var t_str = 'hello world'; var t_num = 123456; String t_str2 = '你好,我很高兴'; int ...

  8. ffmpeg Tesseract-OCR 识别文字滤镜 中文识别输出文本

    ffprobe -show_entries frame_tags=lavfi.ocr.text -f lavfi -i "movie=in.tif,ocr=datapath=tessdata ...

  9. bootstrap select2控件

  10. Unity Shader 基础

    推荐: https://www.cnblogs.com/nanwei/p/7277417.html 上面链接作者的整个系列都写的不错 https://www.cnblogs.com/nanwei/ca ...