`
zht1933
  • 浏览: 224208 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle 日期 查询

阅读更多

0.获得某个月所有天的列表:

select *
  from (select to_char(to_date(to_char(to_date('200802','YYYYMM'), 'yyyymm') || '01', 'yyyymmdd') + rownum - 1,'yyyy-mm-dd') days
          from dual
         start with dummy = 'X'
        connect by dummy = dummy)
 where rownum < to_number(to_char(last_day(to_date('200802','YYYYMM')), 'dd')) + 1;

 

1.判断某一天是周几

select to_char(sysdate,'day') from dual;

select to_char(to_date('2007-11-20','yyyy-mm-dd'),'day') from dual;

2.求某月的天数

select to_char(last_day(sysdate),'dd') days from dual;

select to_char(last_day(to_date('200802','YYYYMM')),'dd') from dual;

3.求某年的天数

select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual;

select add_months(trunc(to_date('2008','YYYY'),'year'), 12) - trunc(to_date('2008','YYYY'),'year') from dual;

4.求下个星期一的日期

在获取之前可以设置日期语言,如:
ALTER SESSION SET NLS_DATE_LANGUAGE='SIMPLIFIED CHINESE';
select next_day(sysdate,'星期一') from dual;
select next_day(sysdate,2) from dual; --后面的数字是从星期日开始算起,所以为2

ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
select next_day(sysdate,'monday') from dual;

5.确定某天是当年的第几周

select to_char(sysdate,'fmww') from dual;

select to_char(to_date('20071126','YYYYMMDD'),'fmww') from dual;


6.确定某天是当月的第几周

select to_char(sysdate,'WW') - to_char(trunc(sysdate,'MM'),'WW') + 1 from dual

select to_char(to_date('20071125','YYYYMMDD'),'WW') - to_char(trunc(to_date('20071125','YYYYMMDD'),'MM'),'WW') + 1 from dual

7.确定某天是当年的第几天

select to_char(sysdate,'DDD') from dual

8.确定某天是当月的第几天

select to_char(sysdate,'DD') from dual;

9.确定某天是一周的第几天

select to_char(sysdate,'D') - 1 from dual; --Oracle定义周日为一周的第一天,所以要减一

10.求两个日期间的天数

select floor(sysdate - to_date('20071125','YYYYMMDD')) from dual;

11.求两个日期间的月数

select floor(months_between(sysdate, to_date('20071031','YYYYMMDD'))) from dual;

12.计算某天的小时、分、秒

select day,
TRUNC(a*24) Hours,
TRUNC(a*24*60 - 60*TRUNC(a*24)) Minutes,
TRUNC(a*24*60*60 - 60*TRUNC(a*24*60)) Seconds
from ( select trunc(sysdate) day, sysdate - trunc(sysdate) a from dual)
分享到:
评论
1 楼 vishare 2012-04-08  
非常有用,谢谢

相关推荐

    oracle日期查询相关

    ### Oracle日期查询相关知识点 #### 一、获取系统当前日期与时间 在Oracle数据库中,可以通过`SYSDATE`函数来获取系统的当前日期和时间。这是一个非常实用的功能,尤其是在需要记录数据的操作时间点时。 **示例:...

    Oracle sql查询当前月的所有日期

    在Oracle数据库环境中,进行日期相关的查询是常见的需求之一。例如,有时我们需要获取当前月份的所有日期,这对于财务报表、数据统计等应用场景尤为重要。本文将详细解释如何通过Oracle SQL语句实现这一功能,并对...

    oracle判断日期是否合法

    oracle判断日期是否合法

    oracle_日期_加减方法

    在Oracle数据库中,日期操作是常见的SQL查询任务,特别是在处理历史数据或进行时间相关的分析时。Oracle提供了丰富的函数来帮助用户对日期进行加减操作,这些功能强大且灵活的函数使得开发者能更精确地处理时间数据...

    oracle日期及时间格式

    Oracle 日期及时间格式 Oracle 日期及时间格式是 Oracle 编程语言中一个重要的组成部分,了解 Oracle 日期及时间格式可以帮助开发者更好地处理日期及时间相关的操作。在 Oracle 中,日期及时间格式可以通过使用 TO_...

    Oracle日期函数练习

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

    oracle日期处理全集

    以下是对给定文件中提及的Oracle日期处理函数的详细说明: 1. **add_months(d, n)**: 此函数将日期d加上n个月,返回新的日期。例如,`add_months(SYSDATE,1)`会返回当前日期往后一个月的日期。 2. **last_day(d)**...

    oracle关于日期的查询语句

    在Oracle数据库中,日期是数据处理的核心部分,无论是记录事务发生的时间、设定时间窗口进行数据分析,还是设置基于时间的触发器,都离不开对日期的查询和操作。本篇将深入探讨Oracle关于日期的查询语句及其相关知识...

    oracle日期处理完全版

    - 示例查询展示了如何找出指定日期范围内非周末的天数,通过 `rownum` 和日期加减计算,以及 `to_char` 获取星期几并排除 '1'(星期一)和 '7'(星期日)。 9. **月份间隔计算**: - `months_between` 函数用于...

    oracle日期时间判断函数

    针对标题"oracle日期时间判断函数"和描述中提到的内容,我们可以深入探讨两个关键的函数,它们主要用于判断字符串是否可以转换为合法的日期时间格式。 1. TO_DATE函数: TO_DATE是Oracle中用于将字符串转换为日期...

    oracle日期操作举例

    ### Oracle 日期操作详解 #### 一、日期时间间隔操作 在Oracle数据库中,我们可以方便地执行日期时间的间隔操作,比如对当前时间进行增减指定的时间间隔。 **1. 当前时间减去7分钟的时间** ```sql SELECT SYSDATE...

    Oracle日期型数据格式

    ### Oracle日期型数据格式 在Oracle数据库中,日期型数据是一种非常重要的数据类型,用于存储日期和时间信息。为了确保数据的一致性和可读性,Oracle提供了多种方式来定义和处理日期格式。本文将深入探讨Oracle中的...

    oracle设置日期格式

    在开始之前,我们先来了解一些关于Oracle日期格式的基础知识: 1. **NLS_DATE_FORMAT**:这是一个非常重要的环境变量,用于控制日期在查询结果中的显示格式。 2. **日期格式字符串**:由一系列字符组成,用来定义...

    oracle 日期类型查询汇总

    oracle 日期类型查询汇总

    oracle自定义日期函数

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

    Oracle 查询两个日期之间的所有月份

    Oracle 查询两个日期之间的所有月份

    oracle中查询两年之间某一个月的数据

    在Oracle数据库中,查询特定时间范围内的数据是一项常见的任务,特别是在需要分析某个特定月份或时间段的数据时。根据提供的标题、描述、标签以及部分内容,本文将详细介绍如何在Oracle中查询两年之间某一个月的数据...

    Oracle 验证是否是日期

    ### Oracle 验证是否是日期 在Oracle数据库中,经常需要对输入的数据进行格式校验,尤其是日期格式的校验尤为重要。本文将详细介绍一个自定义的Oracle函数`FN_ISDATE_JAVA`,该函数用于判断给定的字符串是否能够...

Global site tag (gtag.js) - Google Analytics