-
SQL Selektion mit LIKE
Guten Tag,
ich habe Probleme mit folgendem SQL-Statement:
EXEC SQL
DECLARE SQLCUR2 CURSOR FOR SELECT LAUFNR, BIBLIOTHEK,
OBJEKT, OBJEKTTYP, BESCHREIB, LASTUSEDAT, ABTEILUNG,
PRIRORITA, TEVBEBRAU, DATMUT, MUTUSER, TYP, RECORDGEL,
RELEVANT FROM AIGDBA1F01 WHERE BIBLIOTHEK LIKE :W-D1BIBLIO
AND OBJEKT LIKE :W-D5OBJEKT AND BESCHREIB LIKE :W-D5BESCHR
ORDER BY BIBLIOTHEK, OBJEKT
END-EXEC.
Lesen:
EXEC SQL
FETCH NEXT FROM SQLCUR2 INTO :LAUFNR, :BIBLIOTHEK, :OBJEKT,
:OBJEKTTYP, :BESCHREIB, :LASTUSEDAT, :ABTEILUNG, :PRIRORITA,
:TEVBEBRAU, ATMUT, :MUTUSER, :TYP, :RECORDGEL, :RELEVANT
END-EXEC.
SQLCODE = '000000100'
ODP created.
Blocking used for query.
Cursor SQLCUR1 opened.
1 rows fetched from cursor SQLCUR1.
Unable to retrieve query options file.
kann mir jemand einen Tip geben, was ich falsch mache.
Danke für die Hilfe
Gruss Reno
-
Hallo Reno,
was steht denn in den Feldern ?
z.B. W-D1BIBLIO = '%SSS%'
Der like sucht dann alle Inhalte mit SSS
gruss Michael
ich habe Probleme mit folgendem SQL-Statement:
EXEC SQL
DECLARE SQLCUR2 CURSOR FOR SELECT LAUFNR, BIBLIOTHEK,
OBJEKT, OBJEKTTYP, BESCHREIB, LASTUSEDAT, ABTEILUNG,
PRIRORITA, TEVBEBRAU, DATMUT, MUTUSER, TYP, RECORDGEL,
RELEVANT FROM AIGDBA1F01 WHERE BIBLIOTHEK LIKE :W-D1BIBLIO
AND OBJEKT LIKE :W-D5OBJEKT AND BESCHREIB LIKE :W-D5BESCHR
ORDER BY BIBLIOTHEK, OBJEKT
END-EXEC.
Lesen:
EXEC SQL
FETCH NEXT FROM SQLCUR2 INTO :LAUFNR, :BIBLIOTHEK, :OBJEKT,
:OBJEKTTYP, :BESCHREIB, :LASTUSEDAT, :ABTEILUNG, :PRIRORITA,
:TEVBEBRAU, ATMUT, :MUTUSER, :TYP, :RECORDGEL, :RELEVANT
END-EXEC.
SQLCODE = '000000100'
ODP created.
Blocking used for query.
Cursor SQLCUR1 opened.
1 rows fetched from cursor SQLCUR1.
Unable to retrieve query options file.
kann mir jemand einen Tip geben, was ich falsch mache.
Danke für die Hilfe
Gruss Reno[/QUOTE]
-
Hier meine möglichen Inhalte:
'%xxx%'
'BIBLIOTHEK'
'%%'
Gruss Reno
Zitat von mk
Hallo Reno,
was steht denn in den Feldern ?
z.B. W-D1BIBLIO = '%SSS%'
Der like sucht dann alle Inhalte mit SSS
gruss Michael
ich habe Probleme mit folgendem SQL-Statement:
EXEC SQL
DECLARE SQLCUR2 CURSOR FOR SELECT LAUFNR, BIBLIOTHEK,
OBJEKT, OBJEKTTYP, BESCHREIB, LASTUSEDAT, ABTEILUNG,
PRIRORITA, TEVBEBRAU, DATMUT, MUTUSER, TYP, RECORDGEL,
RELEVANT FROM AIGDBA1F01 WHERE BIBLIOTHEK LIKE :W-D1BIBLIO
AND OBJEKT LIKE :W-D5OBJEKT AND BESCHREIB LIKE :W-D5BESCHR
ORDER BY BIBLIOTHEK, OBJEKT
END-EXEC.
Lesen:
EXEC SQL
FETCH NEXT FROM SQLCUR2 INTO :LAUFNR, :BIBLIOTHEK, :OBJEKT,
:OBJEKTTYP, :BESCHREIB, :LASTUSEDAT, :ABTEILUNG, :PRIRORITA,
:TEVBEBRAU, ATMUT, :MUTUSER, :TYP, :RECORDGEL, :RELEVANT
END-EXEC.
SQLCODE = '000000100'
ODP created.
Blocking used for query.
Cursor SQLCUR1 opened.
1 rows fetched from cursor SQLCUR1.
Unable to retrieve query options file.
kann mir jemand einen Tip geben, was ich falsch mache.
Danke für die Hilfe
Gruss Reno
[/QUOTE]
-
Host Variablen
Hallo,
wie sind die Host-Variablen (W-....) definiert?
Mit fixer oder variabler Länge?
Bei Feldern mit fixer Länge werden sieht der Feld-Inhalt etwa wie folgt aus: '%ABC% '
Das heißt es wird nach einem String gesucht, der irgendwo 'ABC' enthält und am Ende eine bestimmte Anzahl *Blanks stehen hat.
Bei Feldern mit variabler Länge sieht der Feld-Inhalt etwa wie folgt aus: '%ABC%'
Es werden alle Strings gefunden, die irgendwo ABC enthalten.
Wenn Du mit Feldern fixer Länge arbeitest, solltest Du in deinem Declare-Statement die Scalare Funktion TRIM verwenden, um die überflüssigen Blanks zu entfernen.
Birgitta
-
Zum Beispiel:
01 W-D1BIBLIO PIC X(12).
01 W-D5OBJEKT PIC X(12).
01 W-D5BESCHR PIC X(102).
Nur im Cobol funktioniert es nicht !!
Aber im manuel im STRSQL geht es ohne Probleme, verstehe es nicht.
kannst Du mir ein Beispiel zeigen, wie man mit TRIM vorgeht.
Danke und Gruss Reno
-
EXEC SQL
DECLARE SQLCUR2 CURSOR FOR SELECT LAUFNR, BIBLIOTHEK,
OBJEKT, OBJEKTTYP, BESCHREIB, LASTUSEDAT, ABTEILUNG,
PRIRORITA, TEVBEBRAU, DATMUT, MUTUSER, TYP, RECORDGEL,
RELEVANT FROM AIGDBA1F01 WHERE BIBLIOTHEK LIKE
trim(:W-D1BIBLIO)
AND OBJEKT LIKE
trim(:W-D5OBJEKT)
AND BESCHREIB LIKE
trim(:W-D5BESCHR)
ORDER BY BIBLIOTHEK, OBJEKT
END-EXEC.
-
Ich habe es mit TRIM angepasst, leider den gleichen Effekt.
STRSQL (so geht es): zum Beispiel
SELECT LAUFNR, BIBLIOTHEK, OBJEKT, OBJEKTTYP, BESCHREIB,
LASTUSEDAT, ABTEILUNG, PRIRORITA, TEVBEBRAU, DATMUT, MUTUSER, TYP,
RECORDGEL, RELEVANT FROM zzrelu/AIGDBA1F01 WHERE BIBLIOTHEK =
'AIGTOOL' AND OBJEKT like '% ' and BESCHREIB like
'% ' ORDER BY BIBLIOTHEK, OBJEKT
aus dem COBOL (SQLCBLLE):
EXEC SQL
DECLARE SQLCUR2 CURSOR FOR SELECT LAUFNR, BIBLIOTHEK,
OBJEKT, OBJEKTTYP, BESCHREIB, LASTUSEDAT, ABTEILUNG,
PRIRORITA, TEVBEBRAU, DATMUT, MUTUSER, TYP, RECORDGEL,
RELEVANT FROM AIGDBA1F01 WHERE BIBLIOTHEK LIKE
trim(:W-D1BIBLIO) AND OBJEKT LIKE trim(:W-D5OBJEKT) AND
BESCHREIB LIKE trim(:W-D5BESCHR) ORDER BY BIBLIOTHEK, OBJEKT
END-EXEC.
Inhalt Variablen im Debug-Mode:
W-D5OBJEKT = '% '
W-D5BESCHR =
....5...10...15...20...25...30...35...40...45...50 ...55...60
1 '% '
61 ' '
W-D1BIBLIO = 'AIGTOOL '
SQLCODE = 000000100.
EXEC SQL
FETCH NEXT FROM SQLCUR2 INTO :LAUFNR, :BIBLIOTHEK, :OBJEKT,
:OBJEKTTYP, :BESCHREIB, :LASTUSEDAT, :ABTEILUNG, :PRIRORITA
:TEVBEBRAU, ATMUT, :MUTUSER, :TYP, :RECORDGEL, :RELEVANT
END-EXEC.
Gruss Reno
Similar Threads
-
By FNeurieser in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 11-10-06, 14:53
-
By jakarto in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 24-07-06, 13:41
-
By woki in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 18-12-04, 12:28
-
By malzusrex in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 12-07-02, 10:09
-
By Stefan_R in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 23-01-02, 16:08
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks