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 <= 3)
WHERE NOT EXISTS (SELECT 1 FROM T WHERE T.D = NY
------解决方案--------------------
'-'
------解决方案--------------------
RM)
ORDER BY NY, RM