打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
oracle 查询周的第一天日期

项目的开发中需要用到一个查询周的第一天日期的函数 搜索N久很难找到解决的方法 只要自己写一个先用着 代码如下 a_week格式为 'YYYYIW' 如 '200801'表示2008年的第一周
周使用IW方式计算 如果一年当中第52周别之后至当年的12月31日之间,还有大于或等于4天的话,则定为当年的第53周,否则剩余这些天数被归为下一年的第1周

幸运, 惊喜, 智慧, 美好!欢迎加入软件技术学习群260594650
 1 CREATE OR REPLACE FUNCTION f_week_to_date(a_week varchar2) RETURN CHAR IS   2   v_first_date   char(10);   3   v_date_of_week number(1);   4    5 BEGIN   6   select to_char(to_date(substr(a_week, 1, 4) || '0101', 'yyyymmdd'), 'D')   7     into v_date_of_week   8     from dual;   9   v_date_of_week := v_date_of_week - 1;  10   if v_date_of_week <= 4 then  11     select TO_CHAR(TO_DATE(SUBSTR(a_week, 1, 4) || '0101', 'yyyymmdd') +  12                    SUBSTR(a_week, 5, 2) * 7 - 7 - v_date_of_week + 1,  13                    'yyyy-mm-dd')  14       into v_first_date  15       from dual;  16   else  17     select TO_CHAR(TO_DATE(SUBSTR(a_week, 1, 4) || '0101', 'yyyymmdd') +  18                    SUBSTR(a_week, 5, 2) * 7  - v_date_of_week + 1,  19                    'yyyy-mm-dd')  20       into v_first_date  21       from dual;  22   end if;  23   24   return v_first_date;  25   26 END;
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
oracle周数计算
Oracle 中 IW和WW 有何差别
oracle 通过身份证号 查询年龄大于60岁的人
hive sql 时间戳转字符串 hive时间戳转换
日期 星期
索引使用简介
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服