Oracle 获取上周一到周末日期的查询sql语句
更新时间:2013年09月09日 10:01:58 作者:
本文为大家介绍下Oracle如何取得上周一到周末日期的查询语句,感兴趣的朋友可以聊接下
复制代码 代码如下:
-- Oracle 取上周一到周末的sql
-- 这样取的是 在一周内第几天,是以周日为开始的
select to_char(to_date('20130906','yyyymmdd'),'d') from dual;
--结果:6 注释:2013.09.06是周五,为本周的第六天
select to_char(sysdate+(2-to_char(sysdate,'d'))-7,'yyyymmdd') from dual;---上周一
select to_char(sysdate+(2-to_char(sysdate,'d'))-1,'yyyymmdd') from dual;---上周日
-- 一个更简单的写法 , 返回date类型
select trunc(sysdate,'iw') - 7 from dual;---上周一
select trunc(sysdate,'iw') - 1 from dual;--上周日
-- 这样查出来是本周一
select trunc(sysdate,'iw') from dual;
select trunc(to_date('20130915','yyyymmdd'),'iw') from dual;
-- 结果:2013/9/9 注释:20130915 为周日
-- 返回char类型
select to_char(trunc(sysdate,'iw') - 7,'yyyymmdd') from dual;--上周一
select to_char(trunc(sysdate,'iw') - 1,'yyyymmdd') from dual;--上周日
-- 获取上周一的函数
create or replace function fun_acc_getlastweekstart(systemdate in date)
return varchar2 is
result_str varchar2(15);
begin
select to_char(trunc(systemdate, 'iw') - 7, 'yyyymmdd')
into result_str
from dual;
return result_str;
end fun_acc_getlastweekstart;
-- 获取上周日的函数
create or replace function fun_acc_getlastweekend(systemdate in date) return varchar2 is
result_str varchar2(15);
begin
select to_char(trunc(systemdate, 'iw') - 1, 'yyyymmdd')
into result_str
from dual;
return result_str;
end fun_acc_getlastweekend;
-- 测试这个函数
select fun_acc_getlastweekstart(sysdate) from dual;
select fun_acc_getlastweekend(sysdate) from dual;
select fun_acc_getlastweekstart(to_date('20130915','yyyymmdd')) from dual;
select fun_acc_getlastweekend(to_date('20130915','yyyymmdd')) from dual;
--查询结果:20130826、20130901、20130902、20130908
-- 注:
select sysdate from dual;
--查询结果:2013/9/6 9:45:14
相关文章
Oracle删除当前用户下所有表的方法适用于有或没有删除权限
如果有plsql客户端,则可以使用该用户登录,选中所有表 右键Drop即可,如果有或没有删除用户的权限都可以使用下面的方法2014-06-06安装Oracle完整客户端后没有访问接口OraOLEDB.Oracle解决办法
这篇文章主要给大家介绍了关于安装Oracle完整客户端后没有访问接口OraOLEDB.Oracle的解决办法,文中通过代码介绍的非常详细,对大家的学习或者工作具有一定的参考解决价值,需要的朋友可以参考下2024-01-01oracle数据库删除数据Delete语句和Truncate语句的使用比较
oracle当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍2012-09-09Oracle 数据库忘记sys与system管理员密码重置操作方法
这篇文章主要介绍了Oracle 数据库忘记sys与system管理员密码重置操作,需要的朋友可以参考下2017-06-06Oracle中的Connect/session和process的区别及关系介绍
本文将详细探讨下Oracle中的Connect/session和process的区别及关系,感兴趣的你可以参考下,希望可以帮助到你2013-03-03Mybatis出现ORA-00911: invalid character的解决办法
今天在项目中,使用Mybatis对oracle数据库进行操作的时候,报出ORA-00911: invalid character的错误,检查了一下SQL,发现都书写正确啊,复制到plsql上执行也都没问题,这什么原因呢,下面通过本文给大家解答下2016-12-12
最新评论