View Full Version : QUERY (Trim-Funktion)
Franz Karl
25-06-12, 09:20
Gibt es im Query auch die Möglichkeit Leerzeichen am Ende eines Tabelleneintrages nicht zu übernehmen (Trim)
Was meinst du mit Übernehmen?
Query dient doch eh nur der Anzeige von Daten.
Würdest du in der Übersicht der Kunden, den Namen trimmen, käme ja keine saubere Anzeige mehr heraus
!?!?!
Robi
Nicht direkt, die TRIM-Funktion gibt es da nicht. Wenn du allerdings die Datei um ein weteres Feld erweiterst, was du mit SQL um den Wert char_length(trim(odobtx)) füllst, dann kannst Du damit im QUERY dann die Funktion SUBSTR benutzen.
Ist zwar nur ein Workaround, aber spontan fällt mir da nix anderes ein.
Franz Karl
25-06-12, 09:55
Ok danke für die Info. Erzeuge mir dann lieber eine logische Sicht.
Query/400 erstellt ja i.W. Berichte.
Daher sind variabel lange Felder nicht von Belang.
Du kannst jedoch
a) als berechnetes Feld ein kürzeres per SUBSTR definieren
b) bei der Spaltenaufbereitung die Längen und Editierungen definieren
Für Query/400 erübrigt sich daher ein TRIM.
Alles andere musst du da schon in SQL machen.
Allerdings brauchst du die View nicht, wenn du tatsächlich nur Reportausgaben erstellst.
Franz Karl
25-06-12, 17:25
Danke - mir geht es aus dem Query eine Datei zu erzeugen.
Aber hilft mir weiter
Hierzu solltest du einfach QM-Query verwenden.
Per STRQMQRY kannst du dann auch eine Ausgabedatei neu erstellen lassen.
Franz Karl
25-06-12, 19:30
Kenne ich jetzt gar nicht ?
STRQM
Mit diesem Tool kannst du sog. QM-Queries erstellen, wobei in der SQL-Sicht alle SQL-Befehle erlaubt sind.
Mit der Auswahl 1 erstellst du neue Objekte der Art *QMQRY.
Wichtig ist, dass du mit (ich glaube F22) zwischen SQL und Formular umschalten kannst (Formualar ist sehr gewöhnungsbedürftig und ausschließlich amerikanisiert).
Im SQL-Modus kannst du nun beliebige SQL's (eben insbesonders Select's) kodieren (Bedienerhilfe gibts da leider nicht).
Besonderheit hier: mit "&Name" kannst du Parameter definieren.
Nach dem Speichern (mit F5 kann man die Ergebnisse testen) kann man die Objekte per STRQMQRY ausführen.
Hierbei kann man dann auch eine Ausgabedatei erstellen bzw. ersetzen oder anhängen.
QMQRY's verwende ich auch häufig für Reorgs (delete ... where) oder auch Updates (update mytable set ...), die ich in jedes CLP einbinden bzw. per QCMDEXC ausführen kann.
Franz Karl
26-06-12, 07:00
Super vielen Dank für die Erklärung - muss ich mal ausprobieren.
Wieder eine neue Möglichkeit.