View Full Version : SQL - RIGHT
habe eine SQL-Anweisung von einem Kollegen bekommen, welche ich jetzt in ein SQLRPGLE einbauen soll!
Wie bzw. mit was muß ich die Zeichen || ersetzten?
:
:
HAVING XYZ='1'||RIGHT(YEAR(current timestamp),2)||RIGHT('0'||MONTH(current timestamp),2)||RIGHT('0'||DAY(current timestamp),2)http://www.qtl.co.il/img/copy.pnghttp://www.google.com/favicon.ico (http://www.google.com/search?q=%7C%7C)http://www.babylon.com/favicon.ico
|| entspricht concat.
Aber warum so kompliziert?
'1' concat substr(replace(char(current date, iso), '-', '') , 3, 6)
wenn ich die Zeichen || (auf der AS400) durch concat ersetze, dann erhalte ich folgende Fehlermeldung
Abfrage von PC-Seite mit einem SQL-Pgm. funktioniert aber mit concat
Token ,2 ungültig. Gültige Token: ....
HAVING FKDTRI='1' concat RIGHT(YEAR(current timestamp),2) concat RIGHT('0' concat MONTH(current timestamp),2) concat RIGHT('0' concat DA
Y(current timestamp),2)
Die Funktion RIGHT gibts erst ab V5R4.
Nimm doch meinen Vorschlag.
sorry hatte ich übersehen!
funkt prima.
danke
wenn ich jetzt das RPGLE laufen lasse, erhalte ich das Feld "Umsatz" immer mit dem Wert 0
D Umsatz s 13 3
c/exec sql
C+ select sum(FKxxx)
c+ into :Umsatz
C+ from myLib/myFile
C+ where FKaaa > 0 and (not (int(FKaaa/100000) = 86 or
C+ int(FKaaa/100000)=75)) and FK1=501
C+ group by FKDat
C+ having FKDat='1' concat substr(replace(char(current date, iso),'-'
C+ , '') , 3, 6)
c/end-exec
C Ende Tag
C Eval *InLR = *on
hat sich erledigt!
hatte eine Leerstelle zuviel bei
C+ having FKDat='1' concat substr(replace(char(current date, iso),'- '