[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2
  1. #13
    Registriert seit
    Feb 2009
    Beiträge
    12
    okay das wars, vielen Dank
    mit folgenden Select klappts zu voller Zufriedenheit:
    Code:
    select * from MDPROP03                                     
    where upper(cast(TITITL as graphic(60) ccsid 1200))        
    like trim(cast('%TOP%' as graphic(60) ccsid 1200))
    Eine Umstellung auf HostVars werde ich nun als nächstes in Angriff nehmen.

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Zu beachten ist aus Performancegründen dass Funktionen auf Felder in der Where-Klauses wie UPPER, CAST u.ä. die Verwendung eines Indexes verhindern.
    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. #15
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    a) dös is hier Wurscht (like %irgendwas führt eh zum full table scan)
    b) wat mutt dat mutt
    c) eine halbwegs intelligente Query Engine sollte sich da (hoffentlich) ratz fatz den erforderlichen Zugriffspfad von einem (hoffentlich) vorhandenen Index ableiten können.

    D*B

    Zitat Zitat von Fuerchau Beitrag anzeigen
    Zu beachten ist aus Performancegründen dass Funktionen auf Felder in der Where-Klauses wie UPPER, CAST u.ä. die Verwendung eines Indexes verhindern.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #16
    Registriert seit
    Feb 2009
    Beiträge
    12
    Habe da Programm nun auf Hostvar umgestellt und es funktioniert wunderbar mit Sonderzeichen, Kyrillisch und Chinesisch.
    Das einzige was mich etwas erstaunt hat war, das die erste Hostvar nicht mit LIKE verwendet werden darf.
    Sondern das z.B. erst ein direkter Vergleich mit einem Tabelleninhalt erfolgen muss und dann das Like mit HostVar folgen darf.
    Warum auch immer? Es funktioniert jetzt wie gewünscht.

    Vielen Dank für eure Hilfe.

  5. #17
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Like mit Hostvar verwende ich regelmäßig.
    Dazu 2 Varianten:

    D MyLikeVar s 100 varying
    D My2LikeVar s 100

    MyLikeVar = '%' + %trim(Irgendwas) + '%';
    // direkte Verwendung in Like möglich
    exec sql
    declare MyCursor Cursor for
    select ....
    where Field like : MyHostVar;

    My2LikeVar = '%' + %trim(Irgendwas) + '%';
    // hier stehen Leerzeichen am Ende
    exec sql
    declare MyCursor Cursor for
    select ....
    where Field like trim(: My2HostVar);
    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

  6. #18
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hier noch eine 3. Variante:

    Es ist völlig egal, ob die Hostvariable fixe oder variable Länge hat oder ob am Anfang oder Ende noch irgendwelche *Blanks rumstehen. Achso und die Prozentzeichen muss man auch nicht in den String reinpfriemeln.

    PHP-Code:
    exec sql 
    declare MyCursor Cursor for
    select ....
    where Field like '%' concat Trim(:HostVarconcat '%'
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. 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 und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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