`

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(),ceil(),floor的使用详解

    1.round函数(四舍五入) 描述 : 传回一个数值,该数值是按照指定的小数位元数进行四舍五入运算的结果 参数: number : 欲处理之数值 decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 ) select round(123.456, ...

    Oracle round()函数与trunc()函数区别介绍

    round(x[,y]) 【功能】返回四舍五入后的值 ... 返回: 5555.67 , 5600 , 5556 【相近】trunc(x[,y]) 返回截取后的值,用法同round(x[,y]),只是不四舍五入 trunc(x[,y]) 【功能】返回x按精度y截取后的值 【参数】x,y,数

    oracle常见函数整理

    Oracle提供了多种函数来处理日期、数字和字符类型的数据,以下是常见的Oracle函数整理: 日期函数: 1. 日期转字符型:to_char()函数将日期类型转换为字符类型,例如to_char(sysdate,'YYYY-MM-DD')将当前日期转换...

    oracle函数大全.doc

    ORACLE函数大全 ________________________________________ 作者:[本站编辑] 来源:[CSDN] 浏览:[ ] SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,...

    MYSQL,SQLSERVER,ORACLE常用的函数

    SQL中的单记录函数 1.ASCII 返回与指定的字符对应的十进制数; SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE --------- --------- --------- --------- ...

    Oracle 特色函数及复杂更新应用.pptx

    * ROUND 函数:将日期舍入到指定的精度。 * TRUNC 函数:将日期截断到指定的精度。 这些函数都可以用于日期数据的处理和操作。 四、复杂的 Update 应用 在实际应用中,我们可能需要使用这些函数来实现复杂的 ...

    oracle 数字函数

    取整函数(ceil 向上取整 floor 向下取整) 取幂 power 和 求平方根 sqrt 求余 返回固定小数位数 round:四舍五入 trunc:直接截断 返回值的符号 正数返回为1 负数为 1

    ORACLE第四章单行函数ppt课件.ppt

    ROUND函数可以将数字四舍五入到指定的小数位,例如ROUND(45.926, 2)将返回45.93。TRUNC函数可以截断数字到指定的小数位,例如TRUNC(45.926, 2)将返回45.92。MOD函数可以返回除法的余数,例如MOD(1600, 300)将返回100...

    SQLServer和Oracle常用函数对比

    SQLServer和Oracle是大家经常用到的数据库,在此感谢作者总结出这些常用函数以供大家参考。 数学函数  1.绝对值  S:select abs(-1) value  O:select abs(-1) value from dual  2.取整(大)  S:select ...

    Oracle数学相关函数小结

    本文总结了Oracle数学相关函数。分享给大家供大家参考,具体如下: 1.绝对值:abs() select abs(-2) value from dual; 2.取整函数(大):ceil() select ceil(-2.001) value from dual;(-2) 3.取整函数(小)...

    《Oracle Database编程指南》13-03:日期时间函数(Datetime Functions)

    日期时间函数(Datetime Functions)操作日期(date)、时间戳(timestamp,带有时区的时间戳,以及带有本地时区的...例外情况是MONTHS_BETWEEN函数(它返回一个数字)和ROUND和TRUNC函数(它们根本不接受时间戳或间隔值)。

    东软oracle在线期中考试一.docx

    Oracle 数据库在线期中考试一是关于 Oracle 数据库的在线考试,涵盖了 SELECT 语句、函数、联接、子查询、聚集函数、日期函数等多方面的知识点。 知识点一:SELECT 语句 SELECT 语句是 Oracle 数据库中最基本的...

    Oracle函数

    2、ROUND(n1[,n2]) 返回四舍五入小数点右边n2位后n1的值,n2缺省值为0,如果n2为负数就舍入到小数点左边相应的位上(虽然oracle documents上提到n2的值必须为整数,事实上执行时此处的判断并不严谨,即使n2为非整数,...

    oracle保留两位小数解决方案

    公司需要处理一些报表,需要使用百分率,保留2位小数,只用round和trunc函数都可以实现(round(_data,2) ),只是格式不是很工整,对格式要求不严谨的情况下使用round即可. 个人认为比较方便的一种 select decode(n_jg...

    Oracle_Database_11g完全参考手册.part3/3

    10.2 日期计算中的ROUND和TRUNC 10.3 使用TO_DATE和TO_CHA设置日期格式 10.3.1 最常见的T0_CHAR错误 10.3.2 NEW_TIME:切换时区 10.3 3TO_DATE计算 10.4 wHere子句中的日期 10.5 处理多个世纪 10.6 使用ExTRACT函数 ...

    Oracle_Database_11g完全参考手册.part2/3

    10.2 日期计算中的ROUND和TRUNC 10.3 使用TO_DATE和TO_CHA设置日期格式 10.3.1 最常见的T0_CHAR错误 10.3.2 NEW_TIME:切换时区 10.3 3TO_DATE计算 10.4 wHere子句中的日期 10.5 处理多个世纪 10.6 使用ExTRACT函数 ...

    oracle 函数大全.txt

    0,解析字符串的存储过程,1.返回与指定的字符对应的十进制数; ,2....28.ROUND和TRUNC 按照指定的精度进行舍入;39.NEW_TIME(date,’this’,’that’) 给出在this时区=other时区的日期和时间 ........

Global site tag (gtag.js) - Google Analytics