[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2002
    Beiträge
    77

    Generische Selektion in SQL

    Hallo Forum,
    gibt es einen Möglichkeit, in einen where Klausel ein Char Feld generisch abzufragen?
    mit Select * from datei00 where charfeld like 'GEN*' finde ich leider nicht den Satz mit "GENERIC" in dem Feld.
    Danke schonmal
    Andreas
    Andreas
    ***Wer einen Schreibfehler findet darf ihn behalten***

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121
    Hallo Andreas,

    versuche es mit

    Select * from datei00 where charfeld like '%GEN%'

    oder

    Select * from datei00 where charfeld like 'GEN%'


    tschau ronald

  3. #3
    Registriert seit
    Aug 2002
    Beiträge
    77
    danke Ronald, aber das funktioniert leider nur für Query, nicht für SQL
    Andreas
    ***Wer einen Schreibfehler findet darf ihn behalten***

  4. #4
    Registriert seit
    May 2002
    Beiträge
    1.121
    das kann net sein,

    ich habe diese select's schon des öfteren im sql abgesetzt (srsql)

    ronald

  5. #5
    Registriert seit
    Aug 2002
    Beiträge
    77
    arg... schlag mich... Groß- Kleinschreibung nicht beachtet.
    Vielen Dank Ronald! Tut genau, was es soll.
    Andreas
    ***Wer einen Schreibfehler findet darf ihn behalten***

  6. #6
    Registriert seit
    May 2002
    Beiträge
    1.121
    dann nimm UPPER zur hilfe

    Select * from datei00 where upper(charfeld) like '%GEN%'



    ronald

  7. #7
    Registriert seit
    Aug 2002
    Beiträge
    77
    Danke, das machts nochmal leichter
    Gruß
    Andreas
    Andreas
    ***Wer einen Schreibfehler findet darf ihn behalten***

  8. #8
    Registriert seit
    Jul 2002
    Beiträge
    151
    Du kannst auch Platzhalter für einzelne Zeichen verwenden:
    select mit like und Platzhalter
    SELECT * FROM astvarp
    WHERE ASVAVA like '020007021___003 017'
    auch:
    SELECT * FROM astvarp
    WHERE ASVAVA like '020007021%%%003 017'
    Gruß Holly

  9. #9
    Registriert seit
    Aug 2001
    Beiträge
    2.873

    Platzhalter

    Hallo Holly,

    bei den Platzhaltern ist zu erwähnen, dass die Verwendung von _ und % nicht zum gleichen Ergebnis führt.

    _ heisst genau ein Zeichen wird ersetzt
    % heisst beliebig viele Zeichen.
    % muss nur einmal angegeben werden!

    z.B. Feld: 'ABCDEFGXYZ'
    1. Select * from File where Feld = 'ABC_XYZ'
    --> Satz wird nicht gefunden
    2. Select * from File where Feld = 'ABC_EFGXYZ'
    --> Satz wird gefunden

    3. Select * from File where Feld = 'ABC%XYZ'
    --> Satz wird gefunden

    Hat jemand schon einmal probiert einen String mit einem Platzhalter zu selektieren?
    Beispiel: in einem Text-Feld ist eine %-Angabe und '100%' soll selektiert werden?

    Hier die Lösung:
    Select * from File where String like like '%100+%%' escape '+'

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  4. Generische Felddefinition bzw Generische SQL Ausgabe
    By Rincewind in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 03-06-05, 10:56
  5. SQL Selektion mit LIKE
    By RLurati in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 18-01-05, 11:38

Berechtigungen

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