Anmelden

View Full Version : SQL !! anstelle von CONCAT



cbe
28-08-09, 11:58
Hallo allerseits,

da gibt es eine Kleinigkeit, die mich schon seit längerem nervt:
Im SQL kann ich interaktiv !! anstelle von CONCAT verwenden,
wenn ich dasselbe in eine Quelle schreibe und mit CRTQMQRY wandeln will, geht es nicht.

Ich nehme an, es ist ein Zeichensatzproblem, aber wo stellt man das ein, damit es in beiden Umgebungen gleich arbeitet?

Weiß das vielleicht jemand?
Christian

B.Hauser
28-08-09, 12:33
Versuch's mit || anstatt !! .

Allerdings würde ich darauf verzichten und immer CONCAT verwenden, weil (wie Du bereits festgestellt hast) das doppelte Ausrufezeichen oder die Double Pipe nicht überall eingesetzt werden kann.

Das einzige was stört ist, dass Du beim CONCAT 4 Zeichen mehr schreiben musst.


Select TRIM(VORNAME) concat ' ' concat TRIM(NAME)
From MyTable

Birgitta

Fuerchau
28-08-09, 12:52
Birgitta hat Recht.
!! und || sind CCSID-abhängig.
Sie funktionieren grundsätzlich nur, wenn die CCSID des Job's und der Code zum Umwandlungs- bzw. Laufzeitpunkt identisch ist.

Was ist also gegen CONCAT einzuwenden ?

cbe
28-08-09, 17:21
ich finde concat schlechter lesbar, aber naja, es gibt schlimmeres...

Danke für die Antworten!
Christian

Fuerchau
28-08-09, 18:37
Wer SQL kennt, weiß was concat bedeutet.
Andererseits ist "||" SQL-Standard und nicht "!!", das ist AS/400-spezifisch.