PDA

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)

Robi
25-06-12, 09:38
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

Chris.jan
25-06-12, 09:38
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.

Fuerchau
25-06-12, 16:32
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

Fuerchau
25-06-12, 17:51
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 ?

Fuerchau
25-06-12, 21:42
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.