Oracle日期格式转换

日期转字符串

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')as nowTime from dual; --日期转字符串
select to_char(sysdate,'yyyy')as nowYear from dual; --获取时间年
select to_char(sysdate,'mm')as nowYear from dual; --获取时间月
select to_char(sysdate,'dd')as nowYear from dual; --获取时间日
select to_char(sysdate,'hh24')as nowYear from dual; --获取时间时
select to_char(sysdate,'mi')as nowYear from dual; --获取时间分
select to_char(sysdate,'ss')as nowYear from dual; --获取时间秒

字符串转日期

select to_date('2017-08-08 10:00:00','yyyy-mm-dd hh24:mi:ss')as tTime from dual;
select to_date('20170808105000','yyyy-mm-dd hh24:mi:ss')as tTime from dual;

查询是星期几

select to_char(sysdate,'d') from dual; --当周第几天
select
to_char(sysdate,'day') from dual; --当前星期几 select to_char(to_date('20170808','yyyy-mm-dd'),'day') from dual; --指定日期星期几 select to_char(to_date('20170808','yyyy-mm-dd'),'day','NLS_DATE_LANGUAGE = American') from dual; --设置日期语言

计算两个日期间天数

--方法1
select floor((sysdate -
             to_date('2017-08-01 08:00:00', 'yyyy-mm-dd hh24:mi:ss'))) as sDays
  from dual;
--ceil(n) 取大于等于数值n的最小整数;
--floor(n)取小于等于数值n的最大整数;
select ceil(9.6) from dual; --->10
select floor(9.6) from dual; --->9

--方法2
select ROUND(TO_NUMBER(sysdate - to_date('2017-08-01 08:00:00',
                                         'yyyy-mm-dd hh24:mi:ss'))) as sDays
  from dual;

一年的第几天

select to_char(sysdate,'ddd'),sysdate from dual;

next_day函数

select next_day(sysdate,6) from dual;
--是从当前开始下一个星期五。后面的数字是从星期日开始算起。     
-- 1  2  3  4  5  6  7     
--日 一 二 三 四 五 六  

查找上个月和当前月第一天和最后一天

select trunc(trunc(sysdate, 'month') - 1, 'month') as FirstDay_LastMonth,
       trunc(sysdate, 'month') - 1 as LastDay_LastMonth,
       trunc(sysdate, 'month') as FirstDay_CurMonth,
       last_day(trunc(sysdate, 'Month'))  as LastDay_CurMonth
  from dual;

判断今年是否闰年

select decode(to_char(last_day(trunc(sysdate,'y')+31),'dd'),'29','闰年','平年') from dual; 

获取当前季度

select to_char(sysdate, 'Q') from dual;

获取当年第几周

select to_char(sysdate, 'WW') from dual;  

获取当月第几周

select to_char(sysdate, 'W') from dual;  

 

posted @ 2017-08-08 10:50  芈璐  阅读(212)  评论(0编辑  收藏  举报