Hirdetés

Új hozzászólás Aktív témák

  • nyunyu

    félisten

    válasz bambano #4461 üzenetére

    Oracle:
    with extra_nap as (
    select '20200410' datum, '7' nap from dual
    union
    select '20200413' datum, '7' nap from dual
    union
    select '20200501' datum, '7' nap from dual),
    szamok as (
    select level l
    from dual
    connect by level <= 1000),
    datumok as
    (select to_char(sysdate+l,'yyyymmdd') datum,
    case when nvl(e.nap, to_char(sysdate+l,'d')) in ('1','2','3','4','5') --hétfő..péntek
    then 'Y'
    else 'N'
    end munkanap
    from szamok l
    left join extra_nap e
    on e.datum=to_char(sysdate+l,'yyyymmdd'))
    select datum, row_number() over (order by datum) rn
    from datumok
    where munkanap='Y';

    Extra_nap "táblába" felvettem a nagypénteket, húsvéthétfőt, május elsejét vasárnapi munkarenddel.
    Aztán legenerálom a következő 1000 nap dátumát, és melléteszek egy munkanap flaget, ami az extra_napban beállítottból vagy a hanyadik nap a héten értéktől függ.
    Végül leválogatom a munkanapokat és melléteszek egy sorszámot, hogy ő hanyadik.

    [ Szerkesztve ]

    Hello IT! Have you tried turning it off and on again?

Új hozzászólás Aktív témák