Oracle 各种时间获取方法
2014-07-31 10:55
204 查看
1、获取系统日期: SYSDATE()
2、 格式化日期: TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS)
或 TO_DATE(SYSDATE(),'YY/MM/DD HH24:MI:SS)
3、 格式化数字: TO_NUMBER
①、当前时间减去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;
④、时间间隔乘以一个数字
select sysdate,sysdate - 8*interval '7' hour from dual;
⑤、取两个时间之间的时间差:
select sysdate-1 from dual
select sysdate+/-n from dual (n代表你想差的天数)
4、格式化时间格式
①、TO_CHAR(Sysdate, 'YYYY-MM-DD HH24:MI')中的'YYYY-MM-DD HH24:MI'格式分为两部分,'YYYY-MM-DD'为日期部分,'HH24:MI'为时间部分。
Select TO_CHAR(Sysdate, 'YYYY-MM-DD HH24:MI') From Dual; 显示的是日期和时间;
Select TO_CHAR(Sysdate, 'YYYY-MM-DD') From Dual; 则仅显示日期;
Select TO_CHAR(Sysdate, 'YYYY') From Dual; 则仅显示年份,依此类推
②、trunc()函数
oracle trunc(sysdate,'dd') 日期
select trunc(sysdate ,'dd') from dual ; -- 2007-9-19
select trunc(sysdate ,'yyyy') from dual ; --2007-1-1
select trunc(sysdate ,'mm') from dual ; --2007-9-1
5、求出本星期的第一天日期(以星期一为第一天)
select trunc(sysdate,'DD')-to_char(sysdate,'D')+2 from dual;
6、求出本星期的第七天日期(以星期日为第七天)
select trunc(sysdate,'DD')-to_char(sysdate,'D')+8 from dual;
7、根据日期格试,取到值到星期几
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
oracle 取某月的第一天,最后一天,前一个月的第一天,最后一天,类似方法
8、在Oracle 数据库中取某个月份的第一天和最后一天的方法:
①、Last_day 本月最后一天
select last_day(sysdate) from dual;
②、取当前日期前一个月的第一天的日期
select last_day(add_months(SYSDATE, -2)) + 1 FROM dual;
③、取当前日期前一个月的最后一天的日期
select last_day(add_months(SYSDATE, -1)) FROM dual;
④、本月的第一天和最后一天
select to_char(trunc(sysdate,'MONTH'),'yyyy-mm-dd') First_DayOfMonth ,to_char(last_day(trunc(sysdate,'MONTH')),'yyyy-mm-dd') Last_DayOfMonth from dual;
⑤、Months_between(f,s) 日期f和s间相差月数
select months_between(sysdate,to_date('2005-11-12','yyyy- mm-dd'))from dual;
⑥上月末天:
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM- dd') LastDay from dual;
⑦、上月今天
select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
⑧、上月首天
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-M M-dd') firstDay from dual;
⑨、按照每周进行统计
select to_char(sysdate,'ww') from dual group by to_char(sysdate,'ww');
⑩、按照每月进行统计
select to_char(sysdate,'mm') from dual group by to_char(sysdate,'mm');
⑪、按照每季度进行统计
select to_char(sysdate,'q') from dual group by to_char(sysdate,'q');
⑫、按照每年进行统计
select to_char(sysdate,'yyyy') from dual group by to_char(sysdate,'yyyy');
9、要找到某月中所有周五的具体日期
select to_char(t.d,'YY-MM-DD') from ( select trunc(sysdate, 'MM')+rownum-1 as d from dba_objects where rownum < 32) t where to_char(t.d, 'MM') = to_char(sysdate, 'MM') (--找出当前月份的周五的日期 )and trim(to_char(t.d, 'Day')) = '星期五'
2、 格式化日期: TO_CHAR(SYSDATE(),'YY/MM/DD HH24:MI:SS)
或 TO_DATE(SYSDATE(),'YY/MM/DD HH24:MI:SS)
3、 格式化数字: TO_NUMBER
①、当前时间减去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;
④、时间间隔乘以一个数字
select sysdate,sysdate - 8*interval '7' hour from dual;
⑤、取两个时间之间的时间差:
select sysdate-1 from dual
select sysdate+/-n from dual (n代表你想差的天数)
4、格式化时间格式
①、TO_CHAR(Sysdate, 'YYYY-MM-DD HH24:MI')中的'YYYY-MM-DD HH24:MI'格式分为两部分,'YYYY-MM-DD'为日期部分,'HH24:MI'为时间部分。
Select TO_CHAR(Sysdate, 'YYYY-MM-DD HH24:MI') From Dual; 显示的是日期和时间;
Select TO_CHAR(Sysdate, 'YYYY-MM-DD') From Dual; 则仅显示日期;
Select TO_CHAR(Sysdate, 'YYYY') From Dual; 则仅显示年份,依此类推
②、trunc()函数
oracle trunc(sysdate,'dd') 日期
select trunc(sysdate ,'dd') from dual ; -- 2007-9-19
select trunc(sysdate ,'yyyy') from dual ; --2007-1-1
select trunc(sysdate ,'mm') from dual ; --2007-9-1
5、求出本星期的第一天日期(以星期一为第一天)
select trunc(sysdate,'DD')-to_char(sysdate,'D')+2 from dual;
6、求出本星期的第七天日期(以星期日为第七天)
select trunc(sysdate,'DD')-to_char(sysdate,'D')+8 from dual;
7、根据日期格试,取到值到星期几
select to_char(to_date('2002-08-26','yyyy-mm-dd'),'day') from dual;
oracle 取某月的第一天,最后一天,前一个月的第一天,最后一天,类似方法
8、在Oracle 数据库中取某个月份的第一天和最后一天的方法:
①、Last_day 本月最后一天
select last_day(sysdate) from dual;
②、取当前日期前一个月的第一天的日期
select last_day(add_months(SYSDATE, -2)) + 1 FROM dual;
③、取当前日期前一个月的最后一天的日期
select last_day(add_months(SYSDATE, -1)) FROM dual;
④、本月的第一天和最后一天
select to_char(trunc(sysdate,'MONTH'),'yyyy-mm-dd') First_DayOfMonth ,to_char(last_day(trunc(sysdate,'MONTH')),'yyyy-mm-dd') Last_DayOfMonth from dual;
⑤、Months_between(f,s) 日期f和s间相差月数
select months_between(sysdate,to_date('2005-11-12','yyyy- mm-dd'))from dual;
⑥上月末天:
select to_char(add_months(last_day(sysdate),-1),'yyyy-MM- dd') LastDay from dual;
⑦、上月今天
select to_char(add_months(sysdate,-1),'yyyy-MM-dd') PreToday from dual;
⑧、上月首天
select to_char(add_months(last_day(sysdate)+1,-2),'yyyy-M M-dd') firstDay from dual;
⑨、按照每周进行统计
select to_char(sysdate,'ww') from dual group by to_char(sysdate,'ww');
⑩、按照每月进行统计
select to_char(sysdate,'mm') from dual group by to_char(sysdate,'mm');
⑪、按照每季度进行统计
select to_char(sysdate,'q') from dual group by to_char(sysdate,'q');
⑫、按照每年进行统计
select to_char(sysdate,'yyyy') from dual group by to_char(sysdate,'yyyy');
9、要找到某月中所有周五的具体日期
select to_char(t.d,'YY-MM-DD') from ( select trunc(sysdate, 'MM')+rownum-1 as d from dba_objects where rownum < 32) t where to_char(t.d, 'MM') = to_char(sysdate, 'MM') (--找出当前月份的周五的日期 )and trim(to_char(t.d, 'Day')) = '星期五'
相关文章推荐
- Java获取各种常用时间方法
- java 获取各种常用时间的方法
- Java获取各种常用时间方法
- 针对VC++ 上各种方法获取时间差,CSpanTime等
- java获取各种常用时间方法
- Java获取各种常用时间方法
- Java获取各种常用时间方法
- Java获取各种常用时间方法
- Java获取各种常用时间方法
- Java获取各种常用时间方法2
- Java获取各种常用时间方法
- 主题:Java获取各种常用时间方法
- Java获取各种常用时间方法
- Java获取各种常用时间方法
- Java获取各种常用时间方法
- Java获取各种常用时间方法(转载)
- Java获取各种常用时间方法
- 通过调用类中的各种方法我们可以获取不同的时间
- Java各种获取系统当前时间方法 和 格式
- Java获取各种常用时间方法