oracle根据月份获取每周的始末日期

with t1 as

 (select level id, ‘201507‘ || lpad(level, 2, ‘0‘) col

    from dual

  connect by level < 32),

t2 as

 (select 0 id,

         null,

         to_char(trunc(to_date(col, ‘yyyymmdd‘), ‘month‘), ‘yyyymmdd‘) end_dt

    from t1

   where rownum = 1

  union all

  select 32,

         null,

         ‘-‘ || to_char(last_day(trunc(to_date(col, ‘yyyymmdd‘), ‘month‘)),

                        ‘yyyymmdd‘)

    from t1

   where rownum = 1

  union all

  select id,

         to_date(col, ‘yyyymmdd‘),

         decode(to_number(to_char(to_date(col, ‘yyyymmdd‘), ‘D‘)) - 1,

                0,

                ‘-‘ || col,

                1,

                col)

    from t1

   where col <= to_char(last_day(trunc(to_date(substr(col, 1, 6) || ‘01‘,

                                               ‘yyyymmdd‘),

                                       ‘month‘)),

                        ‘yyyymmdd‘)),

t3 as

 (select id,

         decode(instr(lag(end_dt, 1) over(order by id), ‘-‘),

                1,

                null,

                lag(end_dt, 1) over(order by id)) start_dt,

         end_dt

    from t2

   where end_dt is not null

   order by id)

select ‘第‘ || rownum || ‘周:‘ des, start_dt || end_dt

  from t3

 where start_dt is not null

 order by id;

时间: 2024-12-30 03:10:59

oracle根据月份获取每周的始末日期的相关文章

这里我们介绍的是 40+ 个非常有用的 Oracle 查询语句,主要涵盖了日期操作,获取服务器信息,获取执行状态,计算数据库大小等等方面的查询。这些是所有 Oracle 开发者都必备的技能,所以快快收藏吧!

日期/时间 相关查询 获取当前月份的第一天 运行这个命令能快速返回当前月份的第一天.你可以用任何的日期值替换 “SYSDATE”来指定查询的日期. SELECT TRUNC (SYSDATE, 'MONTH') "First day of current month"      FROM DUAL; 获取当前月份的最后一天 这个查询语句类似于上面那个语句,而且充分照顾到了闰年,所以当二月份有 29 号,那么就会返回 29/2 .你可以用任何的日期值替换 “SYSDATE”来指定查询的日

Java各种日期格式的获取和设置指定日期

因为近期在做一个项目,发现项目中日期设置的bug,于是查阅了多方资料后.最终攻克了,为此写篇总结.方便日后的查阅. 多的不说了.直接上代码 package com.example.testdate; import java.text.DateFormat; import java.text.ParsePosition; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; impo

ORACLE按每月、每周关联数据表

-- 时间段内的每个月份,{0}:开始日期,{1}:结束日期 SELECT TO_CHAR(ADD_MONTHS(TO_DATE('{0}', 'YYYY-MM'), ROWNUM - 1), 'YYYYMM') AS MONTHLIST FROM DUAL CONNECT BY ROWNUM <= MONTHS_BETWEEN(TO_DATE('{1}', 'YYYY-MM'), TO_DATE('{0}', 'YYYY-MM')) + 1 例: SELECT TO_CHAR(ADD_MONT

js中使用eval()方法将字符串转换成日期格式、并获取指定时间的日期

1.在js中eval()方法将字符串格式数据转换成日期格式 function getDate(strDate) {         //strDate为需要转换成日期格式的字符串         var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/,                 function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')');    

Swift教程_基础技术_获取当前日期时间、日期时间格式化及转换

Swift教程_基础技术_类型转换(父子类转换:Int.Double.String转换) Swift教程_基础技术_获取当前日期时间.日期时间格式化及转换 1.获取当前日期时间 var nowDate = NSDate() var formatter = NSDateFormatter() formatter.dateFormat = "yyyy-MM-dd HH:mm:ss" var dateString = formatter.stringFromDate(nowDate) pri

根据周次获取周次的日期范围

根据周次获取周次的日期范围 /** * 返回某年某月周次范围 * @param year 年份 * @param weeks 周次 * @return 返回周次的日期范围 */ function getXDate(year,weeks){ var date = new Date(year,"0","1"); var time = date.getTime(); // 获取当前星期几,0:星期一 .... var _week = date.getDay(); //当这

js获取当前日期及获取当前日期的前一天日期函数

function getcurrentdate(){ //获取系统时间var LSTR_ndate=new Date();var LSTR_Year=LSTR_ndate.getFullYear();var LSTR_Month=LSTR_ndate.getMonth();var LSTR_Date=LSTR_ndate.getDate();//处理var uom = new Date(LSTR_Year,LSTR_Month,LSTR_Date);uom.setDate(uom.getDate

Java如何获取URL连接的日期?

Java编程中,如何获取URL连接的日期? 以下示例演示如何使用HttpURLConnection类的httpCon.getDate()方法获取URL连接的日期. package com.yiibai; import java.net.HttpURLConnection; import java.net.URL; import java.text.SimpleDateFormat; import java.util.Date; public class URLConnectionDate { p

MS SQL获取最大值或最小值日期的函数

原文:MS SQL获取最大值或最小值日期的函数 开发ERP时,会使用到下面两个获取最大值或最小值日期的函数. 最大日期值: MaximumDateValue CREATE FUNCTION [dbo].[MaximumDateValue] () RETURNS DATETIMEASBEGIN   RETURN CONVERT(DATETIME, '9999-12-31 23:59:59.998', 121)END 最小日期值: MinimumDateValue CREATE FUNCTION [