1.根据单个日期进行查询时,先将日期转换为字符串再进行查询
select
*
from
emp
where
to_char(hiredate,
'yyyy'
)=1982;
2.根据时间段查询异常多件
seect * from tab where dtcol between to_date('2012-05-01 00:00:00','yyyy-mm-dd hh24:mi:ss') and to_date('2012-05-31 00:00:00','yyyy-mm-dd hh24:mi:ss')
3.Oracle常用日期取值
select
sysdate,
to_number(to_char(sysdate,'hh24')) 时,
to_number(to_char(sysdate,'mi')) 分,
to_number(to_char(sysdate,'ss')) 秒,
to_number(to_char(sysdate,'dd')) 日,
to_number(to_char(sysdate,'mm')) 月,
to_number(to_char(sysdate,'yyyy')) 年,
to_number(to_char(sysdate,'ddd')) 年内第几天,
trunc(sysdate,'dd') 一天之始,
trunc(sysdate,'day') 周初,
trunc(sysdate,'mm') 月初,
last_day(sysdate) 月末,
add_months(trunc(sysdate,'mm'),1) 下月初,
trunc(sysdate,'yy') 年初,
to_char(sysdate,'day') 周几,
to_char(sysdate,'month') 月份
from
dual;
SYSDATE 2015-12-09 10:49:51
时 10分 49
秒 51
日 9
月 12
年 2015
年内第几天 343
一天之始 2015-12-09
周初 2015-12-06
月初 2015-12-01
月末 2015-12-31 10:49:51
下月初 2016-01-01
年初 2015-01-01
周几 星期三
月份 12月
4.oracle的trunc与round处理日期和数值的区别 oracle的 trunc(date,[fmt]) 解释:返回截取时间部分后的DATE,如果有fmt部分的设置,则返回与该部分最近的日期。 round(date,[fmt]) 解释:返回将日期date舍入后的DATE,如果有fmt部分的设置,则按照fmt指定的格式舍入返回DATE。 一、用trunc函数处理日期 日期用例 '2008-11-28 12:59:59'周五 1.没有fmt部分时 语句: SELECT TRUNC(TO_DATE('2008-11-28 12:00:01','YYYY-MM-DD hh24:mi:ss')) FROM DUAL; 结果: 2008-11-28 2.得到最当前日期之前的最近的一个周日的日期 语句: SELECT TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'),'D') FROM DUAL; 结果: 2008-11-23 周日 语句: SELECT TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'),'D')+1 FROM DUAL; 结果: 2008-11-24 周一 3.得到最当前日期的所在月份的第一天 语句: SELECT TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'),'MM') FROM DUAL; 结果: 2008-11-1 语句: SELECT TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'),'MM')-1 FROM DUAL; 结果: 2008-10-31 4.得到最当前日期的所在年份的第一天 语句: SELECT TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'),'Y') FROM DUAL; 结果: 2008-1-1 语句: SELECT TRUNC(TO_DATE('2008-11-28 12:59:59','YYYY-MM-DD hh24:mi:ss'),'Y')-1 FROM DUAL; 结果: 2007-12-31 oracle中~~如何写一个语句 获得 当前系统时间往前推7天
当前时间减去7分钟的时间 select sysdate,sysdate - interval '7' MINUTE from dual 当前时间减去7小时的时间 select sysdate - interval '7' hour from dual 当前时间减去7天的时间 select sysdate - interval '7' day from dual 当前时间减去7月的时间 select sysdate,sysdate - interval '7' month from dual 当前时间减去7年的时间 select sysdate,sysdate - interval '7' year from dual 时间间隔乘以一个数字 select sysdate,sysdate - 8 *interval '2' hour from dual |