Announcement

Collapse
No announcement yet.

ORDER BY und VARCHAR2

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ORDER BY und VARCHAR2

    Hallo

    Wahrscheinlich ist die Frage schon x-mal gestellt worden, aber ich habe die Suche im Forum nach 45 min aufgegeben.

    Folgendes Problem stellt sich mir: In PL/SQL muss ich einen Cursor erstellen der mir die Datensätze nach einer "Nummer" sortiert. Dieses Feld ist VARCHAR2. Doch leider können diese Nummern ganz verschieden sein. Für uns Menschen ist die Sortierung kein Problem aber wie bringe ich das dem Crusor bei?

    Die "Nummern" sollten so sortiert sein:

    1<br>
    2<br>
    2.32<br>
    3<br>
    3A<br>
    3A2<br>
    3.12<br>
    3.12B<br>
    10<br>
    100<br>
    100.a<br>
    ...<br>

    Ob 3A vor 3.xy kommt spielt keine Rolle, kann mir da jemand helfen?

    Besten Dank

    Gruss Fabian

  • #2
    begin<BR>
    for L_C in (<BR>
    select... from... where... order by<BR>
    F_Get_Number(FELD);<BR>
    exception when others then <BR>
    null; -- ?<BR>
    end;<BR>
    <BR>
    F_Get_Number<BR>
    Result number;<BR>
    L_VarChar varchar2;
    begin<BR>
    i := Length(FELD);<BR>
    for i to 0 loop<BR>
    if Subst(FELD,i,1) in [Asc(),Asc()...] then<BR>
    L_VarChar := L_VarChar+Subst(FELD,i,1);<BR>
    end if;<BR>
    end loop;<BR>
    Result := to_number(L_VarChar);
    end;<BR>
    <BR>
    <BR>
    MfG Ral

    Comment

    Working...
    X