Oracle SQL 语句对时间操作的总结
在SQL语句中,常常用会对时间(或日期)进行一些处理,下面是比较通用的一些语句:
延迟:
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(trunc(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即可。
相关文档:
命令行维护Oracle AWR
有时候由于种种原因,只能使用命令行来维护Oracle10g。当然我们依然可以使用statspack,但由于statspack功能不如AWR,而
且如果使用两种性能诊断工具也是一种浪费。因此手动维护AWR还是有必要的,下面列出一些常用的AWR命令,以备后查。
1、修改AWR的触发频率
......
Oracle系列:记录(Record)
一,什么是记录(Record)?
由单行多列的标量构成的复合结构。可以看做是一种用户自定义数据类型。组成类似于多维数组。
将一个或多个标量封装成一个对象进行操作。是一种临时复合对象类型。
记录可以直接赋值。RECORD1 :=RECORD2;
记录不可以整体比较. ......
1. 查询数据库现在的表空间
select tablespace_name, file_name, sum(bytes)/1024/1024 table_size from dba_data_files group by tablespace_name,file_name;
2. 建立表空间
CREATE TABLESPACE data01 DATAFILE '/oracle/ ......
Oracle Database 10g 提供了一个显著改进的工具:自动工作负载信息库 (AWR:Automatic Workload Repository)。Oracle 建议用户用这个取代 Statspack。AWR 实质上是一个 Oracle 的内置工具,它采集与性能相关的统计数据,并从那些统计数据中导出性能量度,以跟踪潜在的问题。与 Statspack 不同,快照由一个称为 MMON 的新的后 ......