[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    393

    suchen im string mit sql

    Hi *all, und frohe neues ...

    Problem:
    in einem Datenfeld steht
    Hugo 05 oder
    HUGO/01 oder
    HuGo 2010 oder
    hugo 07 evtl aber auch mal
    07 / Hugo

    Also ein Wort und (oft, nicht immer) eine Zahl
    Das Feld mit upper in Großbuchataben wandeln und auf like %HUGO% prüfen krig ich hin.
    Aber wie kann ich (mit SQL) den 1-4-stellgen numerischen Wert extrahieren?

    Danke
    Der ILEMax, den nun RPGLE zur Lösung verwendet

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.238
    Damit bist du auf dem richtigen Weg.
    SQL bietet dazu keine Möglichkeit.
    Du musst dir eine externe SQL-Funktion schreiben, die dir dann den Wert extrahiert.
    Natürlich geht das auch als reine SQL-Language-Function, dahinter steckt dann aber trotzdem ein ILE-C-Programm und somit bist du per ILERPG dann auch nicht langsamer.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Apr 2013
    Beiträge
    6
    Hallo Max,
    es geht auch so:
    with daten (text) as
    (select 'Hugo 05' from sysibm/sysdummy1
    union all
    select 'HUGO/01' from sysibm/sysdummy1
    union all
    select 'HuGo 2010' from sysibm/sysdummy1
    union all
    select 'hugo 07' from sysibm/sysdummy1
    union all
    select '07 / Hugo' from sysibm/sysdummy1),
    conv (text, nbr) as
    (select text,
    trim(translate(xor(text,
    translate(text,x'00000000000000000000',
    '0123456789')),
    ' ', x'00'))
    from daten)
    select * from conv

    ==>

    TEXT NBR
    Hugo 05 05
    HUGO/01 01
    HuGo 2010 2010
    hugo 07 07
    07 / Hugo 07

  4. #4
    Registriert seit
    Sep 2005
    Beiträge
    393
    nö, leider nicht
    ich wollte den Thread ja nicht überstrapazieren und ALLE Möglichkeiten abschreiben.
    Es gibt so viele varianten, da hätte der Platz nicht gereicht ...
    Trotzdem danke, netter Versuch ...

    Robi

  5. #5
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Zitat Zitat von Alfred E. Neumann Beitrag anzeigen
    ...
    (select text,
    trim(translate(xor(text,
    translate(text,x'00000000000000000000',
    '0123456789')),
    ' ', x'00'))
    from daten)
    ...
    Boah, krass!

  6. #6
    Registriert seit
    Apr 2013
    Beiträge
    6
    das Beispiel gibts in diesem Forum
    http://forums.iprodeveloper.com/forums/aff/203
    unter dem Titel "XOR - it works but why and how" o.s.ä.
    habe den Beitrag nicht mehr gefunden

  7. #7
    Registriert seit
    Sep 2005
    Beiträge
    393

Similar Threads

  1. mit SQL sortieren nach String
    By heynem in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 07-11-07, 11:53
  2. String ausschneiden
    By heynem in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 20-03-03, 09:15
  3. Suchen/Ersetzen?
    By Matthias.Hayn in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 15-07-02, 07:03
  4. Programmname aus String ermitteln
    By LaLeLi in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 19-06-02, 08:38
  5. Zeichenfolge in PF suchen
    By Schnichels in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 18-04-02, 10:52

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •