oracle-函数-trunc-round-日期函数

2024-04-12 16:48
文章标签 oracle 函数 round 日期 trunc

本文主要是介绍oracle-函数-trunc-round-日期函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、oracle trunc函数处理日期

select trunc(sysdate) from dual; --默认截取到天

2017-09-12 00:00:00

select trunc(sysdate,'dd') from dual;--截取到天

2017-09-12 00:00:00

select trunc(sysdate,'') from dual; 

select trunc(sysdate,'year') from dual; --截取到年(本年的第一天)

select trunc(sysdate,'q') from dual; --截取到季度(本季度的第一天)

select trunc(sysdate,'month') from dual; --截取到月(本月的第一天)

 

select trunc(sysdate,'w') from dual;  -- 离当前时间最近的周四,若当天为周四则返回当天,否则返回上周四????

select trunc(sysdate,'ww') from dual;  --截取到上周末(上周周六)????

 

 

select trunc(sysdate,'day') from dual; --截取到周(本周第一天,即上周日)

select trunc(sysdate,'iw') from dual; --本周第2天,即本周一

 

 

select trunc(sysdate,'hh24') from dual;  --截取到小时(当前小时,零分零秒)

2011-12-29 16:00:00

select trunc(sysdate,'mi') from dual; --截取到分(当前分,零秒)

2011-12-29 16:24:00

 

select trunc(sysdate,'ss') from dual ;--报错,没有精确到秒的格式

 

 

二、oracle trunc函数处理数值

trunc(x[,y]) 
【功能】返回x按精度y截取后的值 
【参数】x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示。 如果y小于0,且y的绝对值大于或等于x整数的位数,则返回为0。如:TRUNC(89.985,-3)=0。
【返回】数字 
【示例】 

selecttrunc(5555.66666,2.7),trunc(5555.66666,-2.6),trunc(5555.733333) fromdual;  

返回:5555.66  5500  5555

selectTRUNC(89.985,-3) fromdual; --0

select TRUNC(89.985,-2) from dual; --0

 

三、oracle round函数处理数值

round(x[,y]) 
【功能】返回四舍五入后的值 
【参数】x,y,数字型表达式;y的默认值为0;如果y不为整数则截取y整数部分,如果y>0则四舍五入为y位小数,如果y小于0则四舍五入到小数点向左第y位。 
【返回】数字 
【示例】 select round(1.6),round(1.6,0),round(5555.6666,2.1),round(5555.6666,-2.6),round(5555.6666) from dual; 

返回: 2 , 2 , 5555.67 , 5600 , 5556 
【相近】trunc(x[,y]) 返回截取后的值,用法同round(x[,y]),只是不四舍五入

 

四、oracle round函数处理日期

ROUND(d[,fmt])

ROUND(d[,fmt])

ROUND(d[,fmt])

【功能】返回一个以fmt为格式的四舍五入日期值 
【参数】d是日期,fmt是格式 模型。默认fmt为DDD,即月中的某一天。 

      如果fmt为“YEAR”则舍入到某年的1月1日,即前半年舍去,后半年作为下 一年

      如果fmt为“MONTH”则舍入到某月的1日,即前月舍去,后半月作为下一 月

      默认为“DDD”,即月中的某一天,最靠近的天,前半天舍去,后半天作为第二天

      如果fmt为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下 一周周日

【返回】日期 
【示例】 select sysdate,round(sysdate),round(sysdate,'ddd'),

        round(sysdate,'day'),round(sysdate,'month'),round(sysdate,'year') from dual; 

    返回: 2017-09-13 16:11:13 , 2017-09-14 00:00:00 , 2017-09-14 00:00:00 , 

       2017-09-17 00:00:00 , 2017-09-01 00:00:00 , 2018-01-01 00:00:00

 

 

、oracle 日期函数:ADD_MONTHS、LAST_DAY、EXTRACT

1. ADD_MONTHS(d,n),在某一个日期d上,加上指定的月数n,返回计算后的新日期
【示例】 select sysdate,add_months(sysdate,5) fromdual;

    返回: 2017-09-13 16:35:19 , 2018-02-13 16:35:19

 

2. LAST_DAY(d),返回指定日期当月的最后一天
【示例】 select sysdate,LAST_DAY(sysdate) fromdual;

    返回: 2017-09-13 16:35:19 , 2017-09-30 16:35:19 

 

4. EXTRACT(fmt FROM d),提取日期中的特定部分。

【参数】fmt为:YEAR、MONTH、DAY、HOUR、MINUTE、SECOND。

        其中YEAR、MONTH、DAY可以为DATE类型匹配,也可以与TIMESTAMP类型匹配;

        但是HOUR、MINUTE、SECOND必须与TIMESTAMP类型匹配。

        HOUR匹配的结果中没有加上时区,因此在中国运行的结果小8小时。

【返回】数字 
【示例】 

select sysdate,systimestamp,

  extract(yearfrom sysdate),extract(monthfrom sysdate),extract(dayfrom sysdate),

  extract(hour from systimestamp),extract(minute from systimestamp),extract(second from systimestamp) 

 

fromdual;

    返回: 2017-09-13 16:52:58 , 2017-09-13 17:05:25  GMT+08:00 ,

       2017 , 9 , 13 , 8 , 52 , 58.75

       

这篇关于oracle-函数-trunc-round-日期函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897698

相关文章

python处理带有时区的日期和时间数据

《python处理带有时区的日期和时间数据》这篇文章主要为大家详细介绍了如何在Python中使用pytz库处理时区信息,包括获取当前UTC时间,转换为特定时区等,有需要的小伙伴可以参考一下... 目录时区基本信息python datetime使用timezonepandas处理时区数据知识延展时区基本信息

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Java实现优雅日期处理的方案详解

《Java实现优雅日期处理的方案详解》在我们的日常工作中,需要经常处理各种格式,各种类似的的日期或者时间,下面我们就来看看如何使用java处理这样的日期问题吧,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言一、日期的坑1.1 日期格式化陷阱1.2 时区转换二、优雅方案的进阶之路2.1 线程安全重构2

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

Mysql表如何按照日期字段的年月分区

《Mysql表如何按照日期字段的年月分区》:本文主要介绍Mysql表如何按照日期字段的年月分区的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、创键表时直接设置分区二、已有表分区1、分区的前置条件2、分区操作三、验证四、注意总结一、创键表时直接设置分区

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印