`
fivipwu
  • 浏览: 11409 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

orcle日期函数

阅读更多

一、 常用日期数据格式


1.Y或YY或YYY 年的最后一位,两位或三位

SQL> Select to_char(sysdate,'Y') from dual;

TO_CHAR(SYSDATE,'Y')
--------------------
7

SQL> Select to_char(sysdate,'YY') from dual;

TO_CHAR(SYSDATE,'YY')
---------------------
07

SQL> Select to_char(sysdate,'YYY') from dual;

TO_CHAR(SYSDATE,'YYY')
----------------------
007

2.Q 季度 1~3月为第一季度,2表示第二季度。

SQL> Select to_char(sysdate,'Q') from dual;

TO_CHAR(SYSDATE,'Q')
--------------------
2

3.MM 月份数

SQL> Select to_char(sysdate,'MM') from dual;

TO_CHAR(SYSDATE,'MM')
---------------------
05

4.RM 月份的罗马表示 (V在罗马数字中表示 5)

SQL> Select to_char(sysdate,'RM') from dual;

TO_CHAR(SYSDATE,'RM')
---------------------
V

5.Month 用9个字符长度表示的月份名

SQL> Select to_char(sysdate,'Month') from dual;

TO_CHAR(SYSDATE,'MONTH')
------------------------
5月

6.WW 当年第几周 (2007年5月29日为2007年第22周)

SQL> Select to_char(sysdate,'WW') from dual;

TO_CHAR(SYSDATE,'WW')
---------------------
22

7.W 本月第几周 (2007年5月29日为5月第5周)

SQL> Select to_char(sysdate,'W') from dual;

TO_CHAR(SYSDATE,'W')
--------------------
5

8.DDD 当年第几天 (2007年5月29日为2007年第149天)

SQL> Select to_char(sysdate,'DDD') from dual;

TO_CHAR(SYSDATE,'DDD')
----------------------
149

9. DD 当月第几天

SQL> Select to_char(sysdate,'DD') from dual;

TO_CHAR(SYSDATE,'DD')
---------------------
29

10.D 周内第几天

SQL> Select to_char(sysdate,'D') from dual;

TO_CHAR(SYSDATE,'D')
--------------------
3

11.DY 中文的星期几 ( (2007年5月29日为星期二))

SQL> Select to_char(sysdate,'DY') from dual;

TO_CHAR(SYSDATE,'DY')
---------------------
星期二

12.HH或HH12 12进制小时数 (16:09分为用12小时制计时为4点)

SQL> Select to_char(sysdate,'HH') from dual;

TO_CHAR(SYSDATE,'HH')
---------------------
04

13.HH24 24小时制

SQL> Select to_char(sysdate,'HH24') from dual;

TO_CHAR(SYSDATE,'HH24')
-----------------------
16

二、常用时间函数

1.trunc(sysdate,'Q') 本季度第一天

SQL> select trunc(sysdate,'Q') from dual;

TRUNC(SYSDATE,'Q')
------------------
2007-4-1

2.trunc(sysdate,'D') 本周的第一天(周日)

SQL> select trunc(sysdate,'D')from dual;

TRUNC(SYSDATE,'D')
------------------
2007-5-27

3.last_day(sysdate) 本月最后一天

SQL> select last_day(sysdate) from dual;

LAST_DAY(SYSDATE)
-----------------
2007-5-31 15:20:3

4.add_months(sysdate,2) 日期sysdate后推2个月


SQL> select add_months(sysdate,2) from dual;

ADD_MONTHS(SYSDATE,2)
---------------------
2007-7-29 15:21:14

5.next_day(sysdate,2) 日期sysdate之后的第一周中,第2(指定星期的第几天)是什么日期

SQL> select next_day(sysdate,2) from dual;

NEXT_DAY(SYSDATE,2)
-------------------
2007-6-4 15:22:10

6.Months_between(f,s) 日期f和s间相差月数

SQL> select months_between(sysdate,to_date('2007-04-12','yyyy-mm-dd'))from dual;

MONTHS_BETWEEN(SYSDATE,TO_DATE
------------------------------
1.56909908900836


7.得到SYSDATE+5所在的月份

SQL> SELECT to_char(SYSDATE+5,'mon','nls_date_language=american') FROM dual;

TO_CHAR(SYSDATE+5,'MON','NLS_D
------------------------------
jun

8.current_date()返回当前会话时区中的当前日期 。

9.select dbtimezone from dual;

10.extract()找出日期或间隔值的字段值

SQL> select extract(month from sysdate) "This Month" from dual;

This Month
----------
5
SQL> select extract(year from sysdate) "This year" from dual;

This year
----------
2007
SQL> select extract(month from add_months(sysdate,2)) " Month" from dual;

Month
----------
7


==================================================================

三、一些实践后的用法:

1.上月末天:
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;

2.上月今天
SQL> select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;

3.上月首天
SQL> select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') firstDay from dual;

4.要找到某月中所有周五的具体日期

SELECT to_char(b.a,'YY-MM-DD')
FROM ( SELECT trunc(SYSDATE,'mm')+ROWNUM-1 a
FROM dba_objects where rownum < 32 ) b
WHERE to_char(b.a,'day')='星期五';


如果把where to_char(t.d, 'MM') = to_char(sysdate, 'MM')改成sysdate-90,即为查找当前月份的前三个月中

的每周五的日期。


5.得到系统当前月及以后的日期

select trunc(sysdate, 'MM')+ROWNUM-1 FROM dba_objects ;

 

-----------------------------------

to_date 字符串类型转为换日期类型
字符串中的相应位置上的字符,必须符合时间范围的限制  

14.MI 分钟数(0~59)
提示注意不要将MM格式用于分钟(分钟应该使用MI)。MM是用于月份的格式,将它用于分钟也能工作,但结果是错误的。

15.SS 秒数(0~59)

分享到:
评论

相关推荐

    Oracle日期函数练习

    Oracle 日期函数练习 Oracle 日期函数是 Oracle 数据库中的一组功能强大且广泛使用的函数,它们可以对日期进行各种操作和计算,本次练习涵盖了 Oracle 中常用的日期函数,包括获取当前系统时间、对日期的月进行加减...

    oracle日期函数

    "Oracle 日期函数详解" Oracle 日期函数是数据库管理系统中经常使用到的函数,用于处理日期和时间相关的操作。下面是 Oracle 日期函数的详细介绍: 1. 日期和字符转换函数 Oracle 提供了两个重要的日期和字符转换...

    oracle日期函数全面总结

    通过学习和掌握以上Oracle日期函数,你可以轻松地进行日期和时间的计算、比较和格式化,提升数据库操作的效率。同时,了解如何处理时区问题也是非常重要的,特别是在分布式系统中。希望这些知识对你在处理Oracle...

    Oracle日期函数大全[文].pdf

    Oracle日期函数大全 Oracle日期函数大全是Oracle数据库中处理日期和时间的函数大全,包括TO_DATE、TO_CHAR等函数。这些函数可以对日期和时间进行各种操作,例如将日期转换为字符串、获取当前日期和时间、计算两个...

    oracle日期函数字符函数聚合函数

    日期函数主要用于处理和操作日期数据,以下是一些主要的Oracle日期函数: 1. **MONTHS_BETWEEN(date1, date2)**: 计算date1和date2之间的月份数,结果是一个浮点数,精确到日。例如,MONTHS_BETWEEN('01-EP-95','11...

    oracle日期函数集锦

    ### Oracle 日期函数集锦详解 #### 一、Oracle 常用日期数据格式 在 Oracle 数据库中,处理日期非常频繁,为了更好地理解和使用这些日期格式化功能,以下是一些常用的日期数据格式: 1. **Y/YY/YYYY**:表示年的...

    Oracle日期函数大全

    Oracle日期函数大全 常用日期数据格式

    Oracle日期函数大礼包

    ### Oracle日期函数大礼包:初学者必学的知识 在Oracle数据库中,日期处理是一项非常重要的功能,尤其是在数据处理、报表生成以及各种业务逻辑实现时。本文将深入介绍Oracle中的日期函数,包括`TO_DATE`、`TO_CHAR`...

    2021-2022收藏的精品资料Oracle日期函数大全.docx

    ### Oracle日期时间函数概述 Oracle提供了丰富的日期时间处理功能,这使得开发人员能够方便地处理与日期时间相关的数据。在Oracle数据库中,日期时间数据类型包括DATE和TIMESTAMP两种。本篇文章将主要介绍日期相关...

    Oracle日期函数大全.pdf

    Oracle数据库系统提供了丰富的日期时间处理函数,用于对日期和时间数据...以上就是Oracle日期函数的一些基本使用,它们在处理日期和时间数据时非常有用。在实际开发中,根据需求选择合适的函数可以极大地提高工作效率。

    Oracle日期函数集锦

    在这个"Oracle日期函数集锦"中,我们将深入探讨一系列常用的Oracle日期函数及其用法。 首先,我们来看日期数据的常见格式: 1. `Y`、`YY`、`YYY`:分别表示年份的最后一位、两位和三位。例如,`to_char(sysdate,'Y...

    oracle 日期函数

    ### Oracle日期函数基础知识 Oracle数据库提供了丰富的日期处理功能,通过一系列内置的日期函数来满足各种日期时间的操作需求。这些函数可以帮助用户实现日期格式转换、日期计算、日期比较等功能。 ### TO_DATE 和...

    学习ORACLE日期函数一分析.pdf

    Oracle日期函数的强大之处在于它们的灵活性和丰富的格式选项,可以根据需求精确地处理和格式化日期时间数据。在实际应用中,理解并熟练运用这些函数能够提高数据处理的效率和准确性。除此之外,还有其他高级日期函数...

    Oracle日期函数

    ### Oracle日期函数详解 在Oracle数据库中,处理日期与时间数据是常见的需求之一。通过使用一系列内置的日期函数,可以方便地对日期进行各种操作,包括获取当前日期、计算两个日期之间的差值、添加或减少月份数等。...

    oracle自定义日期函数

    Oracle 自定义日期函数 Oracle 日期处理函数是数据库管理系统中非常重要的一部分,最近看到有人在做 T-SQL 与 PL/SQL 的转化,问了些有关时间函数的处理。在 PL/SQL 中,Oracle 提供了其他的方法来处理日期函数,...

    ORACLE常用日期函数集合

    本文将详细介绍一些常用的Oracle日期函数及其应用场景,帮助数据库管理员或开发者更好地理解和运用这些函数,以提高数据处理的效率和准确性。 #### 二、格式化日期 在Oracle中,`to_char()`函数被广泛用于将日期...

Global site tag (gtag.js) - Google Analytics