`
chenlk823
  • 浏览: 37407 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

oracle 日期操作详解

阅读更多
Oracle时间日期操作
sysdate+(5/24/60/60) 在系统时间基础上延迟5秒
sysdate+5/24/60 在系统时间基础上延迟5分钟
sysdate+5/24 在系统时间基础上延迟5小时
sysdate+5 在系统时间基础上延迟5天
add_months(sysdate,-5) 在系统时间基础上延迟5月
add_months(sysdate,-5*12) 在系统时间基础上延迟5年


上月末的日期:select last_day(add_months(sysdate, -1)) from dual;
本月的最后一秒:select trunc(add_months(sysdate,1),'MM') - 1/24/60/60 from dual
本周星期一的日期:select trunc(sysdate,'day')+1 from dual


年初至今的天数:select ceil(sysdate - trunc(sysdate, 'year')) from dual;

今天是今年的第几周 :select to_char(sysdate,'fmww') from dual
今天是本月的第几周:SELECT TO_CHAR(SYSDATE,'WW') - TO_CHAR(TRUNC(SYSDATE,'MM'),'WW') + 1 AS "weekOfMon" FROM dual

本月的天数
SELECT to_char(last_day(SYSDATE),'dd') days FROM dual
今年的天数
select add_months(trunc(sysdate,'year'), 12) - trunc(sysdate,'year') from dual
下个星期一的日期
SELECT Next_day(SYSDATE,'monday') FROM dual


============================================

--计算工作日方法

create table t(s date,e date);
alter session set nls_date_format = 'yyyy-mm-dd';
insert into t values('2003-03-01','2003-03-03');
insert into t values('2003-03-02','2003-03-03');
insert into t values('2003-03-07','2003-03-08');
insert into t values('2003-03-07','2003-03-09');
insert into t values('2003-03-05','2003-03-07');
insert into t values('2003-02-01','2003-03-31');

-- 这里假定日期都是不带时间的,否则在所有日期前加trunc即可。
select s,e,e-s+1 total_days,
trunc((e-s+1)/7)*5 + length(replace(substr('01111100111110',to_char(s,'d'),mod(e-s+1,7)),'0','')) work_days
from t;

-- drop table t;

引此:http://www.itpub.net /showthread.php?s=1635506cd5f48b1bc3adbe4cde96f227&threadid=104060&perpage=15&pagenumber=1


================================================================================

判断当前时间是上午下午还是晚上

SELECT CASE
WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 6 AND 11 THEN '上午'
WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 11 AND 17 THEN '下午'
WHEN to_number(to_char(SYSDATE,'hh24')) BETWEEN 17 AND 21 THEN '晚上'
END
FROM dual;
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    oracle日期操作举例

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

    Oracle审计功能详解

    "Oracle审计功能详解" Oracle审计功能是指Oracle数据库中的一种安全机制,用于记录和跟踪用户对数据库的访问和操作行为。这种机制可以帮助DBA和安全管理员发现和防止不正当的访问和操作。 一、审计分类 Oracle...

    oracle 体系结构详解

    Oracle体系结构的知识点非常广泛,包括了对数据库实例和数据库文件的理解,SGA区和PGA区的内存管理,后台进程的功能和操作,以及各类参数设置对数据库性能的影响。掌握这些知识点对于管理和维护Oracle数据库至关重要...

    oracle job使用详解

    Oracle Job 的使用对于实现定时任务、批处理操作和维护工作至关重要。以下是对 Oracle Job 使用的详细解释: 1. **创建 Job**: 创建 Job 可以通过 `DBMS_JOB.SUBMIT` 存储过程完成。例如,在提供的代码中,创建了...

    Oracle表分区详解

    1. **范围分区**:根据列值的范围(如日期或数字)来划分分区。例如,可以按月份或者年份对订单表进行分区,使得在查询特定时间段的数据时,数据库只扫描相关的分区。 2. **散列分区**:使用散列函数将数据分布到...

    Oracle分区表详解

    ### Oracle 分区表详解 #### 一、Oracle 分区简介 Oracle 的分区技术是一种用于管理和优化超大型表和索引的有效手段。通过将一个大型的表或者索引分割成多个较小且可管理的部分,分区技术能够显著提升数据库的性能...

    Oracle日期时间类型

    ### Oracle日期时间类型详解 #### 一、概述 在Oracle数据库中,并不存在`datetime`这一数据类型,而是通过`date`类型来实现日期与时间的综合处理。`date`类型可以表示日期和时间,它固定占用7个字节的空间。本篇...

    ORACLE常用日期函数集合

    本文将详细介绍一些常用的Oracle日期函数及其应用场景,帮助数据库管理员或开发者更好地理解和运用这些函数,以提高数据处理的效率和准确性。 #### 二、格式化日期 在Oracle中,`to_char()`函数被广泛用于将日期...

    oracle_dual详解.doc

    Oracle Dual表详解 在Oracle数据库中,`DUAL`是一个特殊的表,主要用于测试和获取系统信息,如当前日期和时间。它由Oracle系统拥有的`SYS`模式下的一个表,同时通过`PUBLIC SYNONYM`为所有数据库用户提供了公共访问...

    Oracle全文检索技术详解

    Oracle全文检索技术是一种强大的信息检索工具,它允许用户在数据库中的文本数据上执行复杂的搜索操作。从Oracle 7版本开始,Oracle就开始提供全文检索功能,起初名为Oracle ConText Cartridge,随后在Oracle 8/8i中...

    Oracle数据库优化详解

    - 正确处理日期型数据,避免将日期型数据错误地定义为字符型或数字型,这将严重影响查询效率。 - SQL书写规则,比如绑定变量的使用,以及避免在where条件中使用变量判断等。 2. CBO优化案例分析 - 分析了不同的...

    oracle日期函数

    "Oracle 日期函数详解" Oracle 日期函数是数据库管理系统中经常使用到的函数,用于处理日期和时间相关的操作。下面是 Oracle 日期函数的详细介绍: 1. 日期和字符转换函数 Oracle 提供了两个重要的日期和字符转换...

    Oracle基础及详解

    本教程将带你深入理解Oracle的基础概念及其详尽使用,包括如何操作数据库、执行SQL查询以及运用各种函数。 一、Oracle数据库基础 Oracle数据库的核心是SQL,一种用于管理和处理结构化数据的语言。在Oracle中,你...

    Oracle PLSQL详解 宝典

    2. **数据类型**:熟悉Oracle数据库支持的数据类型,包括数值型、字符型、日期型、布尔型以及复合数据类型如记录和数组。 3. **存储过程与函数**:学习创建、调用和管理存储过程和函数,理解它们在数据库中的作用,...

    ORACLE数据库配置详解及PLSQL软件使用

    Oracle 数据库配置详解及 PL/SQL 软件使用 Oracle 数据库配置详解 Oracle 数据库软件安装是整个 Oracle 数据库配置的基础。首先,需要下载 Oracle 11g R2 for Windows 版本的安装文件,从官方网站下载两个压缩...

    ORACLE分析函数详解

    它们提供了一种更高效、更灵活的方式来执行诸如累计计算、分组内的百分比计算、前N条查询以及移动平均等操作,相比传统的PL/SQL解决方案,分析函数在性能上有显著优势。 分析函数的工作原理是基于一组行来计算聚合...

    oracle手册,详解SQL用法

    此外,Oracle提供了丰富的日期函数,如`SYSDATE`获取当前系统日期,`ADD_MONTHS()`增加月份,`EXTRACT()`提取日期的特定部分(年、月、日等)。 数据类型转换是SQL操作中常见的需求,`CAST()`函数允许我们显式地将...

    Oracle数据库用法详解

    本文将详细介绍Oracle数据库的基本概念、SQL语言以及DDL和DML操作。 首先,数据库是存储和管理数据的仓库,而Oracle数据库管理系统(DBMS)则是实现这一功能的核心工具。DBMS负责数据的安全性、一致性和并发控制,...

    oracle rman命令详解

    ### Oracle RMAN 命令详解 #### 一、RMAN 概述 RMAN (Recovery Manager) 是 Oracle 提供的一种强大而灵活的工具,主要用于数据库备份与恢复。RMAN 支持多种类型的命令,主要包括独立命令和作业命令。 - **独立...

Global site tag (gtag.js) - Google Analytics