oracle操作当前日期,月份,星期,周
select sysdate '当前',sysdate+7 '一周后' from dual; oracle还有好多功能很强大的函数,我先列一些 显示昨天,今天,明天的日期,日期类型 +- 数值 = 日期类型select sysdate-1 "昨天",sysdate "今天",sysdate+1 "明天" from dual; 以年和月形式显示员工近似工龄,日期-日期=数值,假设:一年以365天计算,一月以30天计算select ename "姓名",round(sysdate-hiredate,0)/365 "天数" from emp; 使用months_between函数,精确计算到年底还有多少个月select months_between('31-12月-15',sysdate) from dual; 使用months_between函数,以精确月形式显示员工工龄select ename "姓名",months_between(sysdate,hiredate) "精确月工龄" from emp; 测试add_months函数,下个月今天是多少号select add_months(sysdate,1) from dual; 测试add_months函数,上个月今天是多少号select add_months(sysdate,-1) from dual; 测试next_day函数,从今天开始算,下一个星期三是多少号【中文平台】select next_day(sysdate,'星期三') from dual; 测试next_day函数,从今天开始算,下下一个星期三是多少号【中文平台】select next_day(next_day(sysdate,'星期三'),'星期三') from dual; 测试next_day函数,从今天开始算,下一个星期三的下一个星期日是多少号【中文平台】select next_day(next_day(sysdate,'星期日') from dual; 测试last_day函数,本月最后一天是多少号select last_day(sysdate) from dual; 测试last_day函数,本月倒数第二天是多少号select last_day(sysdate)-1 from dual; 测试last_day函数,下一个月最后一天是多少号select last_day(add_months(sysdate,1)) from dual; 测试last_day函数,上一个月最后一天是多少号select last_day(add_months(sysdate,-1)) from dual; 注意: 1)日期-日期=天数 2)日期+-天数=日期 SELECT to_char(to_date('2011-03-13','YYYY-MM-DD'),'d') FROM DUAL Select to_char(sysdate,'d') from dual取当前时间是一周的第几天,从星期天开始,周六结束 Select to_char(sysdate,'dd') from dual 当前日是一个月中的第几天 Select to_char(sysdate,'ddd') from dual 当前日是一年中的第几天 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |