/* 日期时间范围查询 */
---------- 创建日期时间测试表-----------------------------------------------------------
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数据库中,可以通过`SYSDATE`函数来获取系统的当前日期和时间。这是一个非常实用的功能,尤其是在需要记录数据的操作时间点时。 **示例:...
Oracle数据库提供了多种方式来处理时间范围的数据,包括SQL查询、闪回功能和快照。下面我们将详细探讨这些知识点。 首先,SQL查询是获取特定时间段内数据的基础。在Oracle中,可以使用`BETWEEN`关键字来筛选特定...
### Oracle日期时间数据类型与时间间隔数据类型详解 #### 23.1 概述:Oracle中的日期时间数据类型 在Oracle数据库中,日期时间数据类型主要包括`DATE`、`TIMESTAMP`及其变体(如`TIMESTAMP WITH TIME ZONE`、`...
Oracle 日期和时间处理函数提供了多种方式来处理日期和时间,包括日期和字符转换、日期语言设置、日期间的天数、时间为空的用法、日期范围查询、日期格式冲突问题、计算日期间的天数和计算月份之间的天数等。
”,这表明没有在指定的时间范围内找到任何数据,可能需要进一步的人工干预或调整查询策略。 #### 4. 应用场景与优化方向 - **应用场景**:这种递减时间窗口的查询机制特别适用于实时数据分析或历史数据回溯场景,...
使用时间查询可以查询某个时间范围内的数据。 例如: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 中的日期和时间函数是数据库管理系统中非常重要的一部分,掌握这些函数可以帮助开发者和 DBA 更好地处理日期和时间相关的操作。 日期和字符转换函数 Oracle 中提供了两个...
本文将深入探讨如何利用Oracle SQL的功能来实现这一目标,包括理解Oracle中的日期函数、如何计算特定年份和周数的日期范围,以及如何构建SQL查询以满足这些需求。 ### Oracle SQL日期函数 Oracle提供了丰富的日期...
在 Oracle 中,日期和时间可以用多种格式表示。如: * `DD`:表示一天中的日期,范围从 01 到 31。 * `DY`:表示一天的缩写形式,例如 `FRI` 代表星期五。 * `DAY`:表示一天的完整形式,例如 `FRIDAY`。 * `MM`:...
- 示例查询展示了如何找出指定日期范围内非周末的天数,通过 `rownum` 和日期加减计算,以及 `to_char` 获取星期几并排除 '1'(星期一)和 '7'(星期日)。 9. **月份间隔计算**: - `months_between` 函数用于...
总之,Oracle数据库提供了丰富的工具来处理时间相关的数据分析,包括灵活的日期函数、分组函数以及递归查询机制。这些功能使得开发者能够高效地对时间序列数据进行分组统计,从而揭示出隐藏在大量数据背后的模式和...
Oracle数据库提供了丰富的日期时间处理功能,包括日期格式化、日期计算、日期范围查询等。通过SQL语句,用户可以方便地对日期进行各种操作。以下将详细介绍如何在Oracle中高效地处理日期时间数据。 ### TO_DATE 和 ...
在Oracle中,24小时制的时间范围是从00:00:00到23:59:59,而12小时制则从1:00:00到12:59:59。 12. **表示季度的转换格式** 'q'可以用于表示季度,如`to_char(date, 'Q')`会给出季度(1-4)。 13. **表示当年第几...
在Oracle数据库中,查询特定时间范围内的数据是一项常见的任务,特别是在需要分析某个特定月份或时间段的数据时。根据提供的标题、描述、标签以及部分内容,本文将详细介绍如何在Oracle中查询两年之间某一个月的数据...
Oracle数据库支持多种日期时间数据类型,其中最常用的是`DATE`类型。`DATE`类型不仅存储日期信息,还包含时间部分,具体到小时、分钟和秒。因此,一个`DATE`类型的值实际上表示的是一个具体的时刻,例如`2023-04-01 ...
在Oracle数据库中,对日期类型的处理是十分常见的需求之一,尤其在数据查询、分析以及报表生成等场景下尤为重要。本文将详细介绍Oracle中与日期相关的两个重要函数:`to_date()` 和 `to_char()` 的用法,并通过具体...
Oracle数据库中的日期时间类型是数据存储和处理的重要组成部分,它提供了对日期和时间的精确管理。在Oracle中,`DATE`类型是最常见的日期时间类型,它不仅存储日期,还存储时间,固定占用7个字节,包含了7个属性:...