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随机函数之dbms_random使用详解

    Oracle随机函数之dbms_random使用详解

    dbms_random是oracle提供的一个随机函数包,本文将详细介绍函数的使用,需要的朋友可以参考下
    2012-12-12
  • Oracle rac案例讲解

    Oracle rac案例讲解

    这篇文章主要介绍了Oracle rac案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 基于ora2pg迁移Oracle19C到postgreSQL14的全过程

    基于ora2pg迁移Oracle19C到postgreSQL14的全过程

    ora2pg是一个开源工具,可将Oracle数据库模式转换为PostgreSQL格式,支持导出数据库绝大多数对象类型,本文就给大家介绍了基于ora2pg迁移Oracle19C到postgreSQL14的全过程,文中有详细的代码示例,需要的朋友可以参考下
    2023-11-11
  • ORACLE 12C PDB 维护基础知识介绍

    ORACLE 12C PDB 维护基础知识介绍

    CDB和PDB是ORACLE 12C一个很亮的新特性,由于他们的引入导致传统的ORACLE数据库管理理念不少发生了改变,这里列举了部分最基本的cdb和pdb管理方式
    2016-09-09
  • oracle 更改数据库名的方法

    oracle 更改数据库名的方法

    这两天一朋友问如何更改数据库名,于是做个测试,简单记录下,以便说明问题。
    2009-10-10
  • oracle基本查询操作子查询用法实例分析

    oracle基本查询操作子查询用法实例分析

    这篇文章主要介绍了oracle基本查询操作子查询用法,结合实例形式分析了oracle数据库子查询相关概念、原理、语法、使用技巧与操作注意事项,需要的朋友可以参考下
    2020-02-02
  • 在Spring中用select last_insert_id()时遇到问题

    在Spring中用select last_insert_id()时遇到问题

    一直使用的Oracle数据库,通过序列来实现自增字段,插入之前就已经获得了自增id,保存下来即可在后来的操作中使用
    2009-05-05
  • Oracle中备份表的简单sql命令语句

    Oracle中备份表的简单sql命令语句

    备份表的简单sql命令想必有黑多的新手朋友们还是会忘记的即便是老手也不例外吧,下面与大家分享下具体的sql语句,希望对你有所帮助
    2013-05-05
  • Oracle常见问题解决方案汇总

    Oracle常见问题解决方案汇总

    今天小编就为大家分享一篇关于Oracle常见问题解决方案汇总,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Oracle递归树形结构查询功能

    Oracle递归树形结构查询功能

    oracle树状结构查询即层次递归查询,是sql语句经常用到的,在实际开发中组织结构实现及其层次化实现功能也是经常遇到的。这篇文章给大家介绍了Oracle递归树形结构查询功能,需要的朋友参考下
    2019-09-09

最新评论