`
as619864232
  • 浏览: 327340 次
社区版块
存档分类
最新评论

oracle 使用 ROUND 和 EXTRACT 操作日期

阅读更多
SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') from dual;
 
TO_CHAR(SYSDATE,'YYYY/MM/DDHH2
------------------------------
2012/04/03 18:13:20

 

ROUND(d,[fmt]):返回一个以 fmt 为格式的四舍五入日期值。

d 是日期,fmt 是格式模型,不能为时分秒。默认为 DDD,即月中的某一天。

  • 如果 fmt 为 “YEAR” 则舍入到某年的一月一日,即前半年舍去,后半年作为下一年。
    SQL> select to_char(round(sysdate,'YEAR'),'yyyy/mm/dd hh24:mi:ss') from dual;
     
    TO_CHAR(ROUND(SYSDATE,'YEAR'),
    ------------------------------
    2012/01/01 00:00:00
  • 如果 fmt 为 “MONTH” 则舍入到某月的一日,即前半月舍去,后半月作为下一月。
    SQL> select to_char(round(sysdate,'MONTH'),'yyyy/mm/dd hh24:mi:ss') from dual;
     
    TO_CHAR(ROUND(SYSDATE,'MONTH')
    ------------------------------
    2012/04/01 00:00:00
  • 如果 fmt 为 “DDD” 即月中的某一天,最靠近的天,前半天舍去,后半天作为第二天。
    SQL> select to_char(round(sysdate,'DDD'),'yyyy/mm/dd hh24:mi:ss') from dual;
     
    TO_CHAR(ROUND(SYSDATE,'DDD'),'
    ------------------------------
    2012/04/04 00:00:00 
    
  • 如果 fmt 为 “DAY” 则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日。
    SQL> select to_char(round(sysdate,'DAY'),'yyyy/mm/dd hh24:mi:ss') from dual;
     
    TO_CHAR(ROUND(SYSDATE,'DAY'),'
    ------------------------------
    2012/04/01 00:00:00 
    

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

fmt 为:YEAR、MONTH、DAY、HOUR、SECOND。其中 YEAR、MONTH、DAY 可以为 DATA 类型匹配,也可以与 TIMESTAMP 类型匹配;但是 HOUR、MINUTE、SECOND 必须与 TIMESTAMP 类型匹配。

SQL> select to_char(sysdate,'yyyy/mm/dd hh24:mi:ss') "date",
  2  extract(YEAR FROM SYSDATE) "year",
  3  extract(MONTH FROM SYSDATE) "month",
  4  extract(DAY FROM SYSDATE) "day",
  5  extract(HOUR FROM SYSTIMESTAMP) "hour",
  6  extract(MINUTE FROM SYSTIMESTAMP) "minute",
  7  extract(SECOND FROM SYSTIMESTAMP) "second"
  8  from dual;

--HOUR 匹配的结果没有加上时区,因此在中国运行的结果小8小时
date                      year   month     day    hour  minute     second
------------------- ---------- ------- ------- ------- ------- ----------
2012/04/03 18:53:42       2012       4       3   10         53      42.79
 

 

分享到:
评论

相关推荐

    oracle日期处理全集

    除了这些函数,Oracle还提供了其他如trunc()(截取日期到指定部分,如年、月、日等)、extract()(提取日期或时间的特定部分,如年、月、日、小时等)以及interval数据类型等来支持复杂的日期和时间操作。...

    oracle日期函数全面总结

    Oracle数据库系统中,日期函数是进行时间数据处理的关键工具,对于数据库管理员和开发人员来说,理解和熟练使用这些函数至关重要。本篇文章将全面总结Oracle中的日期函数,帮助你解决日常工作中遇到的各种日期处理...

    Oracle中日期格式字段处理.docx

    8. 日期和时间的四舍五入:在 Oracle 中,可以使用 ROUND 函数将日期和时间四舍五入到最近的日期。例如,ROUND(SYSDATE, 'DAY') 将当前日期四舍五入到最近的星期天。 9. 日期和时间的差值计算:在 Oracle 中,可以...

    oracle中文基本操作教程

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它为数据存储、管理和处理提供了强大的支持。本教程将深入浅出地介绍Oracle的基本操作,包括语法、函数的使用,并通过实例帮助你提升对Oracle的理解...

    oracle函数大全-数字-字符-日期-聚合函数

    例如,你可以创建测试表,填充数据,然后尝试使用不同的函数进行查询和操作。这将帮助你更好地掌握Oracle函数的用法和应用场景。 最后,提供的文档和文本文件,如"oracle日期和时间处理汇总.doc"、"Oracle聚合函数...

    oracle_date.rar_oracle

    在Oracle中,日期处理涉及一系列函数和操作,如SYSDATE获取当前系统日期,ADD_MONTHS用于增加或减少月份,EXTRACT函数用于提取日期或时间的特定部分(如年、月、日、小时、分钟等)。TO_CHAR和TO_DATE函数则用于日期...

    oracle函数大全(CHM格式).rar

    总之,这个CHM文件是Oracle数据库开发者和管理员不可或缺的参考工具,它将帮助我们更好地理解和应用Oracle函数,从而优化我们的数据库操作,提高工作效率。对于初学者和经验丰富的专业人士来说,都是一个宝贵的资料...

    Oracle中 对日期时间类型的操作 - 详细.docx

    Oracle数据库在处理日期和时间类型的数据时提供了丰富的函数和操作方式。本文将详细介绍Oracle中对日期时间类型的操作。 首先,Oracle中的日期时间类型主要由`DATE`类型来表示,它可以存储日期和时间,精确到秒。...

    Oracle日期函数

    Oracle数据库系统提供了丰富的日期函数,用于处理和操作日期时间数据。在SQL查询、报表和业务逻辑中,这些函数起着至关重要的作用。本篇将深入探讨Oracle中的日期函数及其基本用法。 一、SYSDATE:获取当前系统日期...

    Oracle函数学习资料

    - Oracle提供了一系列日期函数,如SYSDATE获取当前系统日期,ADD_MONTHS添加或减去月份,EXTRACT获取日期/时间的特定部分,TO_DATE和TO_CHAR进行日期和字符串之间的转换等。 掌握这些函数是Oracle数据库开发和管理...

    oracle函数大全及知识点api

    Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的函数集使得开发者能够处理复杂的查询和数据操作。本文将深入探讨Oracle函数大全及其API,同时也会涉及到错误代码查询,帮助你更好地理解和...

    传智播客Oracle.rar

    这些文档可能包含了关于日期函数的使用,例如DATEPART、EXTRACT或TO_CHAR等,用于提取日期中的年、月、日等部分,以及四舍五入函数如ROUND、TRUNC等,用于处理数值的精度问题。通过解决这些练习题,学员能巩固所学...

    oracle 函数大全 参考函数 手册 速查 chm格式

    3. 日期时间函数:如SYSDATE(获取当前系统日期)、ADD_MONTHS(添加月份)、EXTRACT(提取日期部分)等,便于对日期和时间进行操作。 4. 转换函数:如TO_CHAR(字符串转换为日期或数字)、TO_DATE(日期转换为字符...

    Oracle几个很有用的特殊函数使用方法,经验只谈

    在Oracle数据库中,特殊函数是SQL查询和数据库管理的关键组成部分,它们极大地增强了数据处理和分析的能力。...在实际工作中,不断实践和探索这些函数的使用,将有助于你成为更出色的Oracle数据库管理员。

    oracle内置函数学习

    日期和时间处理是数据库操作中常见的需求,Oracle的内置日期函数如SYSDATE获取当前系统日期,ADD_MONTHS()用于增加或减少月份,EXTRACT()可以从日期中提取年、月、日等部分,而TO_CHAR()和TO_DATE()则用于日期和字符...

    oracle书籍

    3. 日期时间函数:如SYSDATE、ADD_MONTHS、EXTRACT、TO_DATE和TO_CHAR等,用于处理日期和时间数据,支持复杂的日期运算和格式化。 4. 转换函数:如TO_NUMBER和TO_CHAR,它们在处理数据类型转换时起到关键作用,确保...

    oracle最常用的函数或方法总结

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统之一,其丰富的函数和方法库为SQL查询提供了强大的支持。在日常的数据操作和分析中,掌握一些常用的Oracle函数和方法是至关重要的。以下是对"Oracle最常用的...

    oracle函数大全中文

    通过"Oracle函数大全(分类显示).chm"这个文档,你可以全面了解并掌握这些函数的使用方法和应用场景,从而更好地在Oracle数据库中进行数据操作和查询。这个资源对于数据库管理员、开发人员和数据分析者来说都是非常...

    oracle数据库中常用日期型函数 .pdf

    在Oracle数据库中,日期型函数是处理日期和时间数据的关键工具。这些函数允许你进行日期的计算、格式化以及各种日期相关的操作。以下是一些常用的日期型函数的详细说明: 1. **Sysdate**:这个函数返回当前系统日期...

Global site tag (gtag.js) - Google Analytics