一、 常用日期数据格式
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数据库中,自定义函数是一种非常实用的功能,可以让我们根据特定需求编写SQL代码块,并将这些代码块封装为可重用的函数。通过这种方式,不仅可以提高代码的复用...
本文将详细介绍一些常用的Oracle日期函数及其应用场景,帮助数据库管理员或开发者更好地理解和运用这些函数,以提高数据处理的效率和准确性。 #### 二、格式化日期 在Oracle中,`to_char()`函数被广泛用于将日期...
"Oracle函数总结" Oracle数据库提供了多种函数来处理不同的数据类型,包括字符函数、数值函数、日期函数、转换函数、通用函数等。下面将对这些函数进行详细的介绍。 字符函数 字符函数用于处理字符串数据,常用的...
以下是对"Oracle最常用的函数或方法总结"的详细阐述: 1. **字符串处理函数** - `CONCAT()`:用于连接两个或多个字符串。 - `SUBSTR()`:从字符串的指定位置截取指定长度的子串。 - `INSTR()`:查找字符串中指定...
本文主要聚焦在Oracle中的日期函数和数学函数。 日期函数是Oracle中处理日期和时间的关键工具,它们允许我们进行复杂的日期计算和格式化。以下是一些常用的日期函数: 1. `months_between(date1, date2)`:此函数...
在Oracle数据库中,日期函数是处理日期和时间数据的关键工具之一。这些函数广泛应用于查询、报表生成以及其他需要处理日期和时间的应用场景。根据题目提供的信息,“oracle各种日期函数”主要涉及如何获取当前的年份...
Oracle数据库系统中包含众多函数,这些函数用于处理各种数据类型,包括字符串、数值以及日期等。本篇将重点介绍在SQL查询和PL/SQL编程中常用的Oracle字符函数,它们可以帮助我们进行数据的处理和分析。 1. ASCII(n)...
Oracle常用函数实战总结.xlsx: 1.内容:总结了Oracle数据库中常用的函数及其实战应用。这些函数可能包括字符串处理函数、数值计算函数、日期和时间函数、转换函数等。 2.用途:对于Oracle数据库的使用者来说,这...
以下是对Oracle日期处理的一些关键知识点的详细说明: 1. **将时间字符串转换为时间** Oracle提供了`to_date()`函数将字符串转换为日期类型。这个函数需要两个参数:要转换的字符串和匹配的转换格式。例如,`to_...
Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的内置函数是其核心优势之一。在数据库查询、数据处理和应用程序开发中,熟练掌握Oracle函数是至关重要的。本篇文章将详细解析Oracle中的常用...
### Oracle基本函数总结 在Oracle数据库中,使用各种内置函数可以极大地提高数据处理效率与准确性。本文将对一些常用的基本函数进行详细介绍,并提供相应的示例,帮助读者更好地理解和掌握这些函数。 #### 一、...
### Oracle开窗函数学习技巧总结 #### 一、概述 在Oracle数据库中,开窗函数是一种非常强大的功能,它能够帮助我们对数据进行更复杂的分析和处理。开窗函数允许我们在查询结果集的一个窗口内执行聚合操作,而无需对...
以下是对"Oracle的110个自带函数总结归纳"中可能涵盖的关键知识点的详细解释: 1. 数学函数: - ABS():返回绝对值。 - CEIL()和FLOOR():分别向上和向下取整。 - ROUND():四舍五入到指定的小数位数。 - MOD()...
首先,Oracle提供了一些内置的日期函数,如`SYSDATE`获取当前日期,`ADD_MONTHS`增加月份,`TRUNC`截断日期到指定的日期部分。然而,这些函数并不直接支持判断是否为工作日或法定假日。因此,我们通常需要结合其他...
Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的内置函数来帮助用户处理各种数据操作。以下是一些Oracle常用函数的详细说明: 1. ASCII 函数:ASCII 函数返回一个字符的ASCII值,即其对应的十进制...
Oracle 函数大全是对 Oracle 数据库中各种函数的总结和分类,包括分析函数、聚合函数、转换函数、日期型函数、字符型函数、数值型函数和其他函数等。 一、分析函数 Oracle 分析函数是 Oracle 数据库中的一种强大...
这份"110个Oracle常用函数的总结"文档详细列出了许多在日常数据库操作中常用的函数,以下是对其中一些关键函数的解释和示例。 1. ASCII函数:返回指定字符的ASCII码值。例如,ASCII('A')返回65,ASCII('a')返回97,...