解决方案 »

  1.   


    WITH T AS
     (SELECT 'zhangsan' NM,
             TO_DATE('2014/03/02', 'yyyy/mm/dd') S_DT,
             TO_DATE('2014/03/05', 'yyyy/mm/dd') E_DT
        FROM DUAL
      UNION ALL
      SELECT 'zhangsan' NM,
             TO_DATE('2014/03/08', 'yyyy/mm/dd') S_DT,
             TO_DATE('2014/03/10', 'yyyy/mm/dd') E_DT
        FROM DUAL)
    SELECT T1.NM, S_DT + LEVEL - 1
      FROM (SELECT T.*, ROWNUM RN FROM T) T1
    CONNECT BY S_DT + LEVEL - 1 <= E_DT
           AND RN = PRIOR RN
           AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL;