日期:2014-05-17  浏览次数:20926 次

查询缺失旬度日期
with t as (  
  select '2001-10-1'  d from dual union all
  select '2001-10-2'  d from dual union all
  select '2001-10-3'  d from dual union all  
  select '2002-11-1'  d from dual union all
  select '2002-11-3'  d from dual union all    
  select '2006-1-2' d from dual union all  
  select '2007-2-1' d from dual union all  
  select '2008-11-1' d from dual)
select * from t


2001-10-1表示2001年10月份第一旬度,
2001-10-2表示2001年10月份第二旬度,
2001-10-3表示2001年10月份第三旬度,

请问怎么简单的处理查出到目前为止,从那个最低旬度缺省的年份的月份的旬度?
------解决方案--------------------
引用:
with t as (  
  select '2001-10-1'  d from dual union all
  select '2001-10-2'  d from dual union all
  select '2001-10-3'  d from dual union all  
  select '2002-11-1'  d from dual union all
  select '2002-11-3'  d from dual union all    
  select '2006-1-2' d from dual union all  
  select '2007-2-1' d from dual union all  
  select '2008-11-1' d from dual)
select * from t


2001-10-1表示2001年10月份第一旬度,
2001-10-2表示2001年10月份第二旬度,
2001-10-3表示2001年10月份第三旬度,

请问怎么简单的处理查出到目前为止,从那个最低旬度缺省的年份的月份的旬度?

with t as (  
   select '2001-10-1'  d from dual union all
   select '2001-10-2'  d from dual union all
   select '2001-10-3'  d from dual union all  
   select '2002-11-1'  d from dual union all
   select '2002-11-3'  d from dual union all    
   select '2006-1-2' d from dual union all  
   select '2007-2-1' d from dual union all  
   select '2008-11-1' d from dual)
 SELECT NY 
------解决方案--------------------
 '-' 
------解决方案--------------------
 RM
   FROM (SELECT DISTINCT REGEXP_SUBSTR(D, '[[:alnum:]]+', 1, 1) 
------解决方案--------------------
 '-' 
------解决方案--------------------

                         REGEXP_SUBSTR(D, '[[:alnum:]]+', 1, 2) NY
           FROM T),
        (SELECT ROWNUM RM FROM DUAL CONNECT BY ROWNUM &