`

Oracle 数据库时间使用小技巧

阅读更多
1、取得当前的日期
select sysdate from dual;
2、 得到当天凌晨0点0分0秒的日期
select trunc(sysdate) from dual;
3、取当前日期是星期几中文显示:
  select  to_char(sysdate,'day')   from   dual;
4、取得当前日是一个星期中的第几天
  select  sysdate,to_char(sysdate,'D')   from   dual; 
注:星期日是第一天
形如:
'yyyy'           年
'Q'              季度          
'mm'             月     
'dd'             日
'ddd'            年中的第几天
'ww'             年中的第几个星期
'w'              该月中第几个星期
'day'            周中的星期几
'd'              周中第几天
5、下一个星期几
下周五:select next_day(sysdate,'星期五') "下周五" from dual;
                select next_day(sysdate,4) from dual;
6、取得当天是本月的的几周
select   to_char(sysdate,'W')   from   dual;
select   to_char(sysdate,'YYYYMMDD   W   HH24:MI:SS')   from   dual;
7、 取得当天天的最后一秒
select trunc(sysdate) + 0.99999 from dual;
8、得到明天凌晨0点0分0秒的日期
select trunc(sysdate+1) from dual;
或者 select trunc(sysdate)+1 from dual;
9、 本月一号的日期
select trunc(sysdate,'mm') from dual;
10、下月一号的日期
select trunc(add_months(sysdate,1),'mm') from dual;
11、返回当前月的最后一天?
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;
12、所在年的第几周
select   to_char(sysdate,'iw')   from   dual;
13、今天是今年的第几天
  select to_char(sysdate,'ddd') from dual;
14、如何在给现有的日期加上2年
select add_months(sysdate,24) from dual;
15、判断某一日子所在年分是否为润年
select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual;
16、判断两年后是否为润年
select decode(to_char(last_day(trunc(add_months(sysdate,24),'y')+31),'dd'),'29','闰年','平年') from dual;
17、得到日期的季度
select ceil(to_number(to_char(sysdate,'mm'))/3) from dual;
或者  select to_char(sysdate, 'Q') from dual;
18、查询两个日期间的天数:
FLOOR:返回等于或小于x的最大整数:
select floor(to_date('20101010','yyyymmdd') - to_date(‘20101010’,'yyyymmdd')) from dual;
--获取小时
select extract(hour from timestamp '2010-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')截取生成==>'2010-10-10';
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('2010-10-10','YYYY-MM-DD'),6);
--返回一个月份的最后一天
Select last_day(date,'2010-10-10') D from dual;
Select last_day(to_date('2010-10-10','YYYY-MM-DD')) from dual;
--返回一个月份的第一天是星期几
select to_char(sysdate - (to_char(sysdate,'dd')-1),'day') from dual
--返回一个月份的最后一天是星期几
select to_char(last_day(to_date('2010-10-10','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>;='2010-10-10'and rq<='2010-12-10'


分享到:
评论

相关推荐

    ORACLE数据库维护技巧

    为了更好地诊断并解决这些问题,本文将分享一系列关于Oracle数据库维护的小技巧,特别是针对Unix环境下的维护实践。 #### 二、操作系统层面的监控与调优 ##### 1. 检查操作系统IO问题 - **工具选择**:`sar`是一个...

    Oracle数据库学习指南

    Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 ...52. 自动备份Oracle数据库

    Oracle 数据库经典练习

    ### Oracle数据库经典练习知识点解析 #### 一、员工信息综合查询与SQL技巧 在Oracle数据库中,通过一系列经典练习,可以深入理解SQL语言的应用及Oracle数据库的管理。以下是对几个关键练习的详细解析: 1. **...

    Java用JDBC实现对Oracle数据库操作

    JDBC是Java中用于与各种数据库通信的标准接口,而Oracle数据库是一个广泛使用的商业关系型数据库系统。在这个主题中,我们将深入探讨以下几个关键知识点: 1. **JDBC驱动**: 在Java中与Oracle数据库交互,首先需要...

    用智能优化限制提高Oracle数据库性能

    本文将深入探讨“用智能优化限制提高Oracle数据库性能”的核心知识点,通过解析智能优化、Oracle数据库性能提升策略,以及具体的SQL执行计划调整技巧,为读者提供一份全面的指南。 ### 智能优化:提升Oracle数据库...

    Oracle数据库笔记大全

    在实际操作中,Oracle数据库的管理和开发涉及大量细节和技巧,如性能优化、备份恢复、安全设置等。理解这些基本概念和操作是成为Oracle数据库管理员或开发人员的基础。通过不断学习和实践,可以更好地掌握Oracle...

    oracle数据库整体学习资料

    Oracle数据库是一种广泛应用于企业级应用的大型关系型数据库管理系统,由甲骨文公司开发和维护。这个"Oracle数据库整体学习资料"压缩包包含了多个...通过深入学习和实践,可以有效地掌握Oracle数据库的管理和开发技巧。

    Oracle数据库实验报告

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据着重要的地位。本实验报告将探讨两个核心的Oracle数据库管理任务:使用Database Configuration Assistant (DBCA) 创建数据库以及利用...

    Oracle数据库管理维护培训

    ### Oracle数据库管理维护培训知识点详述 ...通过以上详尽的内容,我们可以看到Oracle数据库管理维护培训涵盖了从基础知识到高级技巧的广泛领域,旨在帮助管理员掌握Oracle数据库的全面管理能力。

    oracle+11G完全中文教程(附加数据库小技巧文档哦)

    总的来说,Oracle 11g完全中文教程结合数据库小技巧文档,将引导学习者从基础到进阶,全面掌握Oracle数据库的使用和管理,为实际工作中的问题解决提供有力支持。通过深入学习和实践,任何人都能成为熟练的Oracle DBA...

    oracle数据库应用与开发.docx

    ### Oracle数据库应用与开发 #### 专题一:Oracle入门 **教学目标** - **1.1** 了解Oracle 10g的安装与卸载流程。 - **1.2** 掌握如何通过Net Configuration Assistant配置客户端服务名。 - **1.3** 学会使用...

    oracle数据库dba专题技术精粹

    Oracle数据库DBA(Database Administrator)专题技术精粹涵盖了Oracle数据库管理的多个重要方面,包括但不限于系统架构、性能优化、故障排查、备份恢复、安全性管理、高可用性设计以及数据库升级等。以下是对这些...

    oracle数据库常用操作指令

    Oracle数据库是目前广泛使用的大型关系型数据库管理系统之一。在日常的数据库维护和管理过程中,经常会用到各种操作指令来完成特定的任务。针对Oracle数据库,常用的操作指令可以分为数据控制语句(DML)、数据定义...

    Oracle数据库管理员技术指南

    1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库克隆数据库 1.6.5 怎样利用 Database Configuration ...

    Oracle数据库性能优化实践指南

    《Oracle数据库性能优化实践指南》是一本专注于提升Oracle数据库运行...通过阅读《Oracle数据库性能优化实践指南》,读者将能够掌握一系列实用的优化技巧,提升数据库系统的整体效能,为企业信息化建设提供强大的后盾。

    Oracle数据库系统应用实例集锦与编程

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它在企业级数据管理、数据分析以及事务处理中扮演着核心角色。本集锦旨在深入探讨Oracle数据库的应用实例与编程技术,帮助读者更好地理解和掌握这一...

    oracle数据库设计原则

    以下是一些核心的数据库设计原则和技巧,特别针对Oracle数据库: 1. **第三范式(3NF)**:3NF是数据库设计中常见的规范化程度,旨在减少数据冗余和提高数据一致性。它要求表中的每个非主键字段都完全依赖于主键,...

    oracle 数据库优化

    Oracle数据库使用SGA(System Global Area)和PGA(Program Global Area)存储数据和处理信息。理解并适当调整这些内存区域的大小,如缓冲区缓存、共享池、redo日志缓冲区等,可以提高数据读取速度和降低磁盘I/O。 ...

    oracle数据库开发面试必备

    ### Oracle数据库开发面试必备知识点详解 #### 一、Oracle SQL查询优化 1. **选择条件顺序**:在Oracle中,合理的顺序安排对于提高查询效率至关重要。例如,在`FROM`子句中,通常会将表(driving table)放在前面...

Global site tag (gtag.js) - Google Analytics