`
小嘴看世界
  • 浏览: 129601 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

oracle 查询周的第一天日期

    博客分类:
  • DB
阅读更多
项目的开发中需要用到一个查询周的第一天日期的函数 搜索N久很难找到解决的方法 只要自己写一个先用着 代码如下 a_week格式为 'YYYYIW' 如 '200801'表示2008年的第一周
周使用IW方式计算 如果一年当中第52周别之后至当年的12月31日之间,还有大于或等于4天的话,则定为当年的第53周,否则剩余这些天数被归为下一年的第1周
CREATE OR REPLACE FUNCTION f_week_to_date(a_week varchar2) RETURN CHAR IS
  v_first_date   char(10);
  v_date_of_week number(1);

BEGIN
  select to_char(to_date(substr(a_week, 1, 4) || '0101', 'yyyymmdd'), 'D')
    into v_date_of_week
    from dual;
  v_date_of_week := v_date_of_week - 1;
  if v_date_of_week <= 4 then
    select TO_CHAR(TO_DATE(SUBSTR(a_week, 1, 4) || '0101', 'yyyymmdd') +
                   SUBSTR(a_week, 5, 2) * 7 - 7 - v_date_of_week + 1,
                   'yyyy-mm-dd')
      into v_first_date
      from dual;
  else
    select TO_CHAR(TO_DATE(SUBSTR(a_week, 1, 4) || '0101', 'yyyymmdd') +
                   SUBSTR(a_week, 5, 2) * 7  - v_date_of_week + 1,
                   'yyyy-mm-dd')
      into v_first_date
      from dual;
  end if;

  return v_first_date;

END;
分享到:
评论

相关推荐

    oracle使用to_date查询一周的第一天日期

    项目的开发中需要用到一个查询一周的第一天日期的函数搜索N久很难找到解决的方法 只要自己写一个先用着 代码如下 a_week格式为 'YYYYIW' 如 '200801'表示2008年的第一周

    计算周次(未规定每年第一天是属于第一周)

    1、动态设置判断条件 2、动态设置每周的第一天

    Oracle 获取上周一到周末日期的查询sql语句

    代码如下: — Oracle 取上周一到周末的sql — 这样取的是 在一周内第几天,是以周日为开始的 select to_char(to_date(‘20130906′,’yyyymmdd’),’d’) from dual; –结果:6 注释:2013.09.06是周五,为本周的第...

    Oracle数据库的周数计算

    Oracle数据库的周数计算 日期计算,算第n周的第一天及最后一天是几号。 公式...

    oracle查看当前日期是第几个星期的方法

    1)ww的算法为每年1月1日为第一周开始,date+6为每一周结尾例如:20050101为第一周的第一天,而第一周的最后一天为20050101+6=20050107 公式: 每周第一天 :date + 周 * 7 – 7 每周最后一天:date +

    Oracle中查询本月星期5的所有日期列表的语句

    代码如下: SELECT * FROM (SELECT TRUNC(SYSDATE, ‘mm’) + ROWNUM – 1 DAYS FROM (SELECT LEVEL FROM DUAL ... 您可能感兴趣的文章:oracle 查询当天数据的sql条件写法oracle使用to_date查询一周的第一天日期Oracle

    Oracle中几个关于日期方面的SQL实例

    Oracle中几个关于日期方面的SQL实例,№1:取得当前日期是本月的第几周,№2:取得当前日期是一个星期中的第几天,注意星期日是第一天,№3:取当前日期是星期几中文显示:,№4:如果一个表在一个date类型的字段上面建立了...

    oracle 日期转换相关sql

    :2007-7-21 17:47:04日期格式参数 含义说明 D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD 月中的第几天 DDD 年中的第几天

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    第一章 Oracle入门 一、 数据库概述 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前。简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据...

    2023年日历(标记工作日,节假日,调休,周末),计算两个日期相差的工作日天数

    压缩包里有2个文件,用于计算两个日期相差的工作日天数(排除周末和法定节假日): 1、excel表为2023年日历数据,并且备注工作日、周末,调休、节假日类型,可导入数据库。 2、SQL文件为2023年所有日期的插入SQL,并...

    oracle 日期操作语句总结

    1.查询当前年、月、周相关时间 1.1.查询当前年份 SELECT TO_CHAR(SYSDATE,'YYYY') AS YEAR FROM DUAL--查询当前年份 SELECT TO_CHAR(SYSDATE,'YYY') AS YEAR FROM...1.2.查询当前年份第几天 SELECT TO_CHAR(SYSDATE,'

    SQL21日自学通

    第一天SQL 简介 17 SQL 简史 17 数据库简史 17 设计数据库的结构21 SQL 总览23 流行的SQL 开发工具 24 SQL 在编程中的应用 27 第二天查询— — SELECT 语句的使用 30 目标 30 背景 30 一般的语法规则 30 你的第一个...

    数据库课程设计--图书管理系统.doc

    五、进度安排 第1周: 数据库系统概念模型、数据模型设计,创建数据库以及相关对象; 第2周: 前台程序开发,撰写报告,接受检查。 六、完成后应上交的材料 1. 源程序一份(包含数据库) 2. 课程设计报告一份 七...

    asp.net知识库

    Web标准和ASP.NET - 第一部分 XHTML介绍 在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把...

    21天学习SQL V1.0

    21天学习SQL V1.0.pdf 66 SQL 21 日自学通(V1.0) 翻译人笨猪 EMAIL wyhsillypig@163.com 2 日期/时间函数.........................................................................................................

Global site tag (gtag.js) - Google Analytics