`
weishaoxiang
  • 浏览: 96308 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

Oracle 日期时间范围查询

 
阅读更多
/* 日期时间范围查询 */

---------- 创建日期时间测试表-----------------------------------------------------------
create table testdatetime(
       ID integer not null primary KEY,
       createdate  CHAR(10)  NULL,
       startdate DATE NULL,
       enddate DATE NULL,
       buydate  CHAR(10)  NULL,
       usedate  varchar2(20)  NULL
) ;
------------------------ 日期时间范围查询 ------------------------------------

SELECT t.*,t.ROWID FROM testdatetime t ;

--字段为:字符串类型(char),长度为:10
SELECT * FROM testdatetime t WHERE 1=1 AND t.createdate = '2011-07-01';

SELECT * FROM testdatetime t WHERE 1=1 AND t.createdate > '2011-07-01';

SELECT * FROM testdatetime t WHERE 1=1 AND t.createdate < '2011-07-01';

SELECT * FROM testdatetime t WHERE 1=1 AND t.createdate >= '2011-06-01' AND t.createdate <= '2011-07-05';

SELECT * FROM testdatetime t WHERE 1=1 AND to_date(t.createdate,'yyyy-MM-dd') between to_date('2011-06-01','yyyy-MM-dd') and to_date('20110705','yyyymmdd') ;

-------------------------------------------------------------------
SELECT t.*,t.ROWID FROM testdatetime t ;

--字段为:字符串类型(char),长度为:20
SELECT * FROM testdatetime t WHERE 1=1 AND t.usedate = '2011-07-01 10:00:00';

SELECT * FROM testdatetime t WHERE 1=1 AND t.usedate > '2011-07-01';

SELECT * FROM testdatetime t WHERE 1=1 AND t.usedate < '2011-07-01';

SELECT * FROM testdatetime t WHERE 1=1 AND t.usedate >= '2011-06-01' AND t.usedate <= '2011-07-05';

SELECT * FROM testdatetime t WHERE 1=1 AND to_date(t.usedate,'yyyy-MM-dd HH24:MI:SS') between to_date('2011-07-01 12:00:00','yyyy-MM-dd HH24:MI:SS') and to_date('20110702 12:00:00','yyyymmdd HH24:MI:SS') ;

-------------------------------------------------------------------------
SELECT t.*,t.ROWID FROM testdatetime t ;

--字段为:日期时间类型(date)
SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate = to_date('2011-07-01','yyyy-MM-dd');

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate > to_date('2011-07-01','yyyy-MM-dd');

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate < to_date('2011-07-01','yyyy-MM-dd');

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate >= to_date('2011-07-01','yyyy-MM-dd') AND t.startdate <= to_date('2011-07-02','yyyy-MM-dd');

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate between to_date('2011-07-01','yyyy-MM-dd') AND to_date('2011-07-02','yyyy-MM-dd');

----------------------
SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate = to_date('2011-07-01 12:00:00','yyyy-MM-dd HH24:MI:SS');

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate > to_date('2011-07-01 12:00:00','yyyy-MM-dd HH24:MI:SS');

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate < to_date('2011-07-01 12:00:00','yyyy-MM-dd HH24:MI:SS');

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate >= to_date('2011-07-01 01:00:00','yyyy-MM-dd HH24:MI:SS') AND t.startdate <= to_date('2011-07-01 23:00:00','yyyy-MM-dd HH24:MI:SS');

SELECT * FROM testdatetime t WHERE 1=1 AND t.startdate between to_date('2011-07-01 01:00:00','yyyy-MM-dd HH24:MI:SS') AND to_date('2011-07-01 23:00:00','yyyy-MM-dd HH24:MI:SS');

-----------------------
SELECT * FROM testdatetime t WHERE 1=1 AND to_char(t.startdate,'yyyy-MM-dd') = '2011-07-01';

SELECT * FROM testdatetime t WHERE 1=1 AND to_char(t.startdate,'yyyy-MM-dd') > '2011-07-01';

SELECT * FROM testdatetime t WHERE 1=1 AND to_char(t.startdate,'yyyy-MM-dd') < '2011-07-01';

SELECT * FROM testdatetime t WHERE 1=1 AND to_char(t.startdate,'yyyy-MM-dd') >= '2011-07-01' AND to_char(t.startdate,'yyyy-MM-dd') <= '2011-07-02';

SELECT * FROM testdatetime t WHERE 1=1 AND to_char(t.startdate,'yyyy-MM-dd') between '2011-07-01' AND  '2011-07-02';

 

分享到:
评论

相关推荐

    oracle日期查询相关

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

    sql查询oracle时间段操作

    Oracle数据库提供了多种方式来处理时间范围的数据,包括SQL查询、闪回功能和快照。下面我们将详细探讨这些知识点。 首先,SQL查询是获取特定时间段内数据的基础。在Oracle中,可以使用`BETWEEN`关键字来筛选特定...

    ORACLE 日期和时间处理汇总

    Oracle 日期和时间处理函数提供了多种方式来处理日期和时间,包括日期和字符转换、日期语言设置、日期间的天数、时间为空的用法、日期范围查询、日期格式冲突问题、计算日期间的天数和计算月份之间的天数等。

    oracle日期时间数据类型与时间间隔数据类型讲解

    ### Oracle日期时间数据类型与时间间隔数据类型详解 #### 23.1 概述:Oracle中的日期时间数据类型 在Oracle数据库中,日期时间数据类型主要包括`DATE`、`TIMESTAMP`及其变体(如`TIMESTAMP WITH TIME ZONE`、`...

    oracle日期处理完全版

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

    oracle按指定时间查询数据如果未查询到继续递减时间段查询(存储过程)

    ”,这表明没有在指定的时间范围内找到任何数据,可能需要进一步的人工干预或调整查询策略。 #### 4. 应用场景与优化方向 - **应用场景**:这种递减时间窗口的查询机制特别适用于实时数据分析或历史数据回溯场景,...

    oracle 日期处理 总结

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

    ORACLE中日期和时间函数汇总

    ORACLE 中日期和时间函数汇总 Oracle 中的日期和时间函数是数据库管理系统中非常重要的一部分,掌握这些函数可以帮助开发者和 DBA 更好地处理日期和时间相关的操作。 日期和字符转换函数 Oracle 中提供了两个...

    Oracle数据库按时间进行分组统计数据的方法

    总之,Oracle数据库提供了丰富的工具来处理时间相关的数据分析,包括灵活的日期函数、分组函数以及递归查询机制。这些功能使得开发者能够高效地对时间序列数据进行分组统计,从而揭示出隐藏在大量数据背后的模式和...

    Oracle里时间的应用

    使用时间查询可以查询某个时间范围内的数据。 例如:select * from table1 where date1 between to_date('2001-01-01', 'yyyy-mm-dd') and to_date('2001-01-31', 'yyyy-mm-dd'); 这个查询语句将查询 table1 表中...

    在oracle中处理日期大全

    在 Oracle 中,日期和时间可以用多种格式表示。如: * `DD`:表示一天中的日期,范围从 01 到 31。 * `DY`:表示一天的缩写形式,例如 `FRI` 代表星期五。 * `DAY`:表示一天的完整形式,例如 `FRIDAY`。 * `MM`:...

    oracle关于日期时间

    ### Oracle日期时间处理概述 Oracle数据库提供了丰富的日期时间处理功能,包括日期格式化、日期计算、日期范围查询等。通过SQL语句,用户可以方便地对日期进行各种操作。以下将详细介绍如何在Oracle中高效地处理...

    oracle日期时间类型.pdf

    Oracle数据库中的日期时间类型是数据存储和处理的重要组成部分,它提供了对日期和时间的精确管理。在Oracle中,`DATE`类型是最常见的日期时间类型,它不仅存储日期,还存储时间,固定占用7个字节,包含了7个属性:...

    oracle sql 根据年份、周数取日期

    通过以上分析,我们可以看到,虽然Oracle SQL提供了多种处理日期的方法,但构建复杂的日期范围查询可能需要组合使用多个函数和多步操作。理解和熟练掌握这些函数对于进行高效的数据分析和报告至关重要。此外,通过...

    oracle日期处理函数大全

    了解并熟练运用这些Oracle日期处理函数,可以极大地提升SQL查询的灵活性和实用性。在实际工作中,应根据具体需求选择合适的函数,确保数据处理的准确性和高效性。同时,注意NLS参数对日期格式和语言的影响,确保在...

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

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

    oracle日期类型的处理

    在进行日期范围查询时,需要注意使用正确的格式化掩码: ```sql SELECT * FROM TABLE_NAME WHERE A_DATE BETWEEN TO_DATE('20011201', 'yyyymmdd') AND TO_DATE('20011231', 'yyyymmdd'); ``` 此查询返回 `A_DATE`...

Global site tag (gtag.js) - Google Analytics