Hirdetés

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

  • bpx
    őstag

    Az előbb rosszul fogalmaztam, elnézést, csak már nem volt időm még egyszer szerkeszteni. Ez a számsor két mezőnek az összefűzéséből jön létre (Az számok egytől nyolcig információt jelölnek.). Ezért van szükség az ismétlődések kiszűrésére :)

    Szóközzel lehet érthetőbb:

    ('1 2 3 4 1 2') -- > ('1 2 3 4')

    Tehát az a kérdés, hogy mivel lehet a számok ismétlődéseit kiszűrni, hogy minden érték csak egyszer szerepeljen.

    Hát én egy regexpet ilyenkor meg nem írok már, de a sima SQL még belefér egy hosszú nap után:

    create table t1 (text varchar2(20 char));

    insert into t1 values ('123456123');
    insert into t1 values ('12342');
    insert into t1 values ('229898012342');

    select text from t1;

    TEXT
    --------------------
    123456123
    12342
    229898012342

    select
    text,
    listagg(c, '') within group (order by c) as uniq_c
    from
    (
    select
    distinct text, substr(text, level, 1) as c
    from
    t1
    connect by level <= length(text)
    )
    group by
    text
    ;

    TEXT UNIQ_C
    -------------------- --------------------
    12342 1234
    123456123 123456
    229898012342 0123489

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