`
wtyling
  • 浏览: 9641 次
  • 性别: Icon_minigender_2
  • 来自: 湖南永州
文章分类
社区版块
存档分类
最新评论

oracle关于日期的查询语句

阅读更多
http://topic.csdn.net/t/20060311/17/4608256.html
select   *   from   mytable   where   to_char(install_date,'YYYYMMDD')   >   '20050101' 

select   *   from   mytable   where   install_date     >   to_date('20050101','yyyymmdd');

取得当前日期是本月的第几周

SQL>   select   to_char(sysdate,'YYYYMMDD   W   HH24:MI:SS')   from   dual;
 
TO_CHAR(SYSDATE,'YY
-------------------
20030327   4   18:16:09
 
SQL>   select   to_char(sysdate,'W')   from   dual;
 
T
-
4

№2:取得当前日期是一个星期中的第几天,注意星期日是第一天

SQL>   select   sysdate,to_char(sysdate,'D')   from   dual;
 
SYSDATE       T
---------   -
27-MAR-03   5

类似:

select   to_char(sysdate,'yyyy')   from   dual;   --年
select   to_char(sysdate,'Q'   from   dual;           --季
select   to_char(sysdate,'mm')   from   dual;       --月
select   to_char(sysdate,'dd')   from   dual;       --日
ddd   年中的第几天
WW   年中的第几个星期
W   该月中第几个星期

DAY 周中的星期几
D   今天对映的NUMBER

'1','星期日',  '2','星期一', '3','星期二', '4','星期三', '5','星期四',  '6','星期五',  '7','星期六'
hh   小时(12)
hh24   小时(24)
Mi   分
ss   秒

№3:取当前日期是星期几中文显示:

SQL>   select   to_char(sysdate,'day')   from   dual;
 
TO_CHAR(SYSDATE,'DAY')
----------------------
星期四

№4:如果一个表在一个date类型的字段上面建立了索引,如何使用

alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'


№5: 得到当前的日期
select sysdate from dual;

№6: 得到当天凌晨0点0分0秒的日期
select trunc(sysdate) from dual;

-- 得到这天的最后一秒
select trunc(sysdate) + 0.99999 from dual;

-- 得到小时的具体数值
select trunc(sysdate) + 1/24 from dual;

select trunc(sysdate) + 7/24 from dual;

№7:得到明天凌晨0点0分0秒的日期

select trunc(sysdate+1) from dual;

select trunc(sysdate)+1 from dual;


№8: 本月一日的日期
select trunc(sysdate,'mm') from dual;


№9:得到下月一日的日期
select trunc(add_months(sysdate,1),'mm') from dual;

№10:返回当前月的最后一天?
select last_day(sysdate) from dual;     
select last_day(trunc(sysdate)) from dual;
select trunc(last_day(sysdate)) from dual;
select trunc(add_months(sysdate,1),'mm') - 1 from dual;


№11: 得到一年的每一天
select trunc(sysdate,'yyyy')+ rn -1 date0
from
(select rownum rn from all_objects
where rownum<366);


№12:今天是今年的第N天
SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;

№13:如何在给现有的日期加上2年
select add_months(sysdate,24) from dual;

№14:判断某一日子所在年分是否为润年
select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;

№15:判断两年后是否为润年
select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual;


№16:得到日期的季度

select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;

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


查询星期几:
select to_char(sysdate,'day') from dual;
查询几号:
select to_char(sysdate,'dd') from dual;
查询小时数:
select to_char(sysdate,'hh24') from dual;
查询时间:
select to_char(sysdate,'hh24:mi:ss') from dual;
查询日期时间:
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;
查询星期几:
select to_char(to_date('2006-11-21','YYYY-MM-DD'),'DAY') from dual;
select to_char(to_date('2006-11-21','YYYY-MM-DD'),'DAY','NLS_DATE_LANGUAGE = American') from dual;
alter session set nls_date_language = 'simplified chinese';
ALTER SESSION SET NLS_DATE_LANGUAGE='AMERICAN';
查询两个日期间的天数:
FLOOR:返回等于或小于x的最大整数:
select floor(to_date('20061121','yyyymmdd') - to_date('20061120','yyyymmdd')) from dual;
//获取小时
SELECT EXTRACT(HOUR from TIMESTAMP '2005-10-10 10:10:10') from DUAL;
//获取月份
SELECT EXTRACT(MONTH from SYSDATE) from DUAL;
//计算一年多少天
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual;
//注意:trunc(sysdate,'year')截取生成==>'2006-01-01';
select trunc(sysdate,'year') from dual;
//查询一年中的第几天
select TO_CHAR(SYSDATE,'DDD'),sysdate from dual;
next_day(sysdate,6)是从当前开始下一个星期五。后面的数字是从星期日开始算起。
1  2  3  4  5  6  7
日 一 二 三 四 五 六
select next_day(to_date('2006-11-21','YYYY-MM-DD'),6);
//返回一个月份的最后一天
Select last_day(date'2006-02-01') D from dual;
Select last_day(to_date('2006-02-01','YYYY-MM-DD')) from dual;
//返回一个月份的最后一天是星期几
select to_char(last_day(to_date('2006-11-21','YYYY-MM-DD')),'DAY') from dual;
//获取上个月末天:
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM-dd') LastDay from dual;
==>注意:last_day(sysdate)表示sysdate这个月的最后一天
add_months(last_day(sysdate),-1)表示上个月的最后一天
//上月今天
select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
//上月首天
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-MM-dd') firstDay from dual

select * from aaa where rq>;='2001-11-01' and rq<='2002-03-01'

分享到:
评论

相关推荐

    常用oracle查询语句

    本文总结了十个常用的 Oracle 查询语句,涵盖了查看表空间、回滚段、控制文件、日志文件、表空间使用情况、数据库对象、数据库版本、数据库创建日期、归档方式、长时间运行的 SQL 语句和数据表参数信息等多个方面。...

    oracle日期查询相关

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

    Oracle学习查询语句

    在Oracle中,查询语句是数据操作的核心,本篇文章将详细讲解Oracle查询语句的一些关键知识点。 首先,Oracle是大小写敏感的,这意味着在编写SQL语句时,需要特别注意变量名、表名和字段名的大小写。在条件表达式中...

    ORACLE__SQL语句教学

    Oracle SQL语句是数据库管理与查询的核心工具,用于从Oracle数据库中检索、更新和操作数据。本教程将介绍SQL SELECT语句的基本概念和用法,帮助你理解和掌握如何在Oracle环境中执行SQL查询。 首先,SQL SELECT语句...

    Oracle_基本建表语句-操作语句

    以上就是Oracle中关于基本建表语句及操作的主要内容。通过熟练掌握这些语句,你可以有效地设计和管理数据库,确保数据的完整性和一致性。在实际应用中,还需要考虑性能优化、索引创建、视图和存储过程的使用等高级...

    oracle监听执行sql语句

    需要注意的是,日期格式可能需要根据Oracle数据库的实际设置进行调整。 3. **获取高CPU消耗的SQL语句** ```sql SELECT b.SQL_TEXT, b.FIRST_LOAD_TIME, b.SQL_FULLTEXT, a.OSUSER, a.PROGRAM, a.USERNAME, a....

    16种oracle查询日期语句.docx

    以下是对16种Oracle查询日期语句的详细说明: 1. 获取当前日期是本月的第几周: 使用`to_char`函数和日期格式模型'YYYYMMDD W HH24:MI:SS',可以获取日期所在的周数。例如`to_char(sysdate,'W')`返回当前日期是一...

    16种oracle查询日期语句.pdf

    Oracle数据库在处理日期数据时提供了丰富的函数和表达式,这些查询日期语句在日常的数据管理和分析工作中非常实用。以下是对16种Oracle查询日期语句的详细解释: 1. 获取当前日期是本月的第几周: 使用`to_char...

    oracle数据库常见99条的查询语句

    ### Oracle数据库常见查询语句详解 #### 1. 基础查询 - **SQL语句**: `SELECT * FROM emp;` - **说明**: 查询`emp`表中的所有记录。 - **SQL语句**: `SELECT empno, ename, job FROM emp;` - **说明**: 查询`emp`...

    oracle备份与经典语句

    以上就是关于“Oracle备份与经典语句”的主要知识点,涵盖了Oracle备份的重要性、类型、语句及恢复策略。了解并掌握这些内容,对Oracle数据库管理员来说至关重要,能有效保护数据安全,确保业务正常运行。

    oracle常用SQL语句(汇总版).docx

    Oracle 常用 SQL 语句汇总 Oracle 是一个功能强大且复杂的关系数据库管理系统,它提供了多种 SQL 语句来管理和操作数据库。在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义...

    oracle_plsql语句大全

    以上内容覆盖了Oracle PL/SQL的基本语法、SQL*PLUS命令、SQL查询、条件表达式、算术运算、日期和时间处理以及DML语句等方面。对于想要深入了解Oracle PL/SQL的开发者来说,这些知识点是非常宝贵的资源。

    Oracle查询语句集锦

    Oracle查询语句是数据库管理中不可或缺的一部分,尤其在Oracle数据库系统中,强大的SQL查询能力能够帮助用户高效地处理数据。本资源集锦涵盖了日期查询、嵌套查询和多表查询等多个方面,对于学习和提升Oracle SQL...

    oracle语句查询两个日期之间星期六、星期日的天数

    oracle语句查询两个日期之间星期六、星期日的天数

    sql查询oracle时间段操作

    在"查询oracle时间段操作.txt"文件中,可能包含了具体的SQL查询示例、快照创建步骤和闪回功能的使用指南,以及关于如何有效利用这些工具进行数据恢复和分析的详细说明。阅读这份文件将进一步加深你对Oracle时间段...

    面试oracle必备的sql语句

    ### 面试Oracle必备的SQL语句知识点详解 #### 1....这些查询语句涵盖了Oracle数据库管理的各个方面,包括表空间管理、数据库对象管理、性能监控等,对于准备面试或日常工作中遇到的问题都非常实用。

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

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

Global site tag (gtag.js) - Google Analytics