`
tntxie
  • 浏览: 82288 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

ORACLE 日期函数总结

阅读更多

一、 常用日期数据格式

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月为第一季度,3表示第三季度。

 

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

TO_CHAR(SYSDATE,'Q')

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

3

3.MM 月份数

 

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

 

TO_CHAR(SYSDATE,'MM')

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

09

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

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

TO_CHAR(SYSDATE,'RM')

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

IX

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

 

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

 

TO_CHAR(SYSDATE,'MONTH')

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

9月

 

6.WW 当年第几周 (2008年9月9日为2008年第37周)

 

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

TO_CHAR(SYSDATE,'WW')

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

37

7.W 本月第几周 (2008年9月9日为9月第2周)

 

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

TO_CHAR(SYSDATE,'W')

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

2

 

8.DDD 当年第几天 (2008年9月9日为2008年第253天)

 

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

 

TO_CHAR(SYSDATE,'DDD')

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

253

9. DD 当月第几天

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

TO_CHAR(SYSDATE,'DD')

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

9

 

10.D 周内第几天

 

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

 

TO_CHAR(SYSDATE,'D')

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

2

 

11.DY 中文的星期几 ( (2008年9月9日为星期二))

 

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...

    80个oracle常用函数总结

    以上仅是Oracle数据库中80个常用函数的一部分,实际使用中还有许多其他功能强大的函数,如日期函数、数学函数、转换函数等,它们极大地丰富了数据处理的能力,提高了数据库操作的灵活性和效率。在实际工作中,理解并...

    oracle自定义函数总结

    ### Oracle 自定义函数详解 #### 一、概述 在Oracle数据库中,自定义函数是一种非常实用的功能,可以让我们根据特定需求编写SQL代码块,并将这些代码块封装为可重用的函数。通过这种方式,不仅可以提高代码的复用...

    ORACLE常用日期函数集合

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

    oracle函数总结

    "Oracle函数总结" Oracle数据库提供了多种函数来处理不同的数据类型,包括字符函数、数值函数、日期函数、转换函数、通用函数等。下面将对这些函数进行详细的介绍。 字符函数 字符函数用于处理字符串数据,常用的...

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

    以下是对"Oracle最常用的函数或方法总结"的详细阐述: 1. **字符串处理函数** - `CONCAT()`:用于连接两个或多个字符串。 - `SUBSTR()`:从字符串的指定位置截取指定长度的子串。 - `INSTR()`:查找字符串中指定...

    Oracle常用函数总结

    本文主要聚焦在Oracle中的日期函数和数学函数。 日期函数是Oracle中处理日期和时间的关键工具,它们允许我们进行复杂的日期计算和格式化。以下是一些常用的日期函数: 1. `months_between(date1, date2)`:此函数...

    oracle各种日期函数

    在Oracle数据库中,日期函数是处理日期和时间数据的关键工具之一。这些函数广泛应用于查询、报表生成以及其他需要处理日期和时间的应用场景。根据题目提供的信息,“oracle各种日期函数”主要涉及如何获取当前的年份...

    ORACLE常用函数总结

    Oracle数据库系统中包含众多函数,这些函数用于处理各种数据类型,包括字符串、数值以及日期等。本篇将重点介绍在SQL查询和PL/SQL编程中常用的Oracle字符函数,它们可以帮助我们进行数据的处理和分析。 1. ASCII(n)...

    Oracle常用函数实战总结.xlsx、Oracle 11g数据库管理员指南.pdf、Oracle开发实战经典.pdf

    Oracle常用函数实战总结.xlsx: 1.内容:总结了Oracle数据库中常用的函数及其实战应用。这些函数可能包括字符串处理函数、数值计算函数、日期和时间函数、转换函数等。 2.用途:对于Oracle数据库的使用者来说,这...

    oracle 日期处理 总结

    以下是对Oracle日期处理的一些关键知识点的详细说明: 1. **将时间字符串转换为时间** Oracle提供了`to_date()`函数将字符串转换为日期类型。这个函数需要两个参数:要转换的字符串和匹配的转换格式。例如,`to_...

    oracle常用函数总结

    Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的内置函数是其核心优势之一。在数据库查询、数据处理和应用程序开发中,熟练掌握Oracle函数是至关重要的。本篇文章将详细解析Oracle中的常用...

    Oracle基本函数总结

    ### Oracle基本函数总结 在Oracle数据库中,使用各种内置函数可以极大地提高数据处理效率与准确性。本文将对一些常用的基本函数进行详细介绍,并提供相应的示例,帮助读者更好地理解和掌握这些函数。 #### 一、...

    oracle开窗函数学习技巧总结

    ### Oracle开窗函数学习技巧总结 #### 一、概述 在Oracle数据库中,开窗函数是一种非常强大的功能,它能够帮助我们对数据进行更复杂的分析和处理。开窗函数允许我们在查询结果集的一个窗口内执行聚合操作,而无需对...

    Oracle的110个自带函数总结归纳

    以下是对"Oracle的110个自带函数总结归纳"中可能涵盖的关键知识点的详细解释: 1. 数学函数: - ABS():返回绝对值。 - CEIL()和FLOOR():分别向上和向下取整。 - ROUND():四舍五入到指定的小数位数。 - MOD()...

    oracle函数得到下一个法定工作日期

    首先,Oracle提供了一些内置的日期函数,如`SYSDATE`获取当前日期,`ADD_MONTHS`增加月份,`TRUNC`截断日期到指定的日期部分。然而,这些函数并不直接支持判断是否为工作日或法定假日。因此,我们通常需要结合其他...

    110个oracle常用函数总结

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的内置函数来帮助用户处理各种数据操作。以下是一些Oracle常用函数的详细说明: 1. ASCII 函数:ASCII 函数返回一个字符的ASCII值,即其对应的十进制...

    oracle函数大全分析函数,聚合函数,转换函数,日期型函数,字符型函数,数值型函数,其他函数.docx

    Oracle 函数大全是对 Oracle 数据库中各种函数的总结和分类,包括分析函数、聚合函数、转换函数、日期型函数、字符型函数、数值型函数和其他函数等。 一、分析函数 Oracle 分析函数是 Oracle 数据库中的一种强大...

    110个Oracle 常用函数的总结.doc

    这份"110个Oracle常用函数的总结"文档详细列出了许多在日常数据库操作中常用的函数,以下是对其中一些关键函数的解释和示例。 1. ASCII函数:返回指定字符的ASCII码值。例如,ASCII('A')返回65,ASCII('a')返回97,...

Global site tag (gtag.js) - Google Analytics