View Full Version : YYYYMMDD per SQL Funktion
andigoering
23-05-17, 08:30
Hallo!
Ich wundere mich gerade, dass es in SQL wohl keine (??) Möglichkeit gibt ein Date Feld in der Form YYYYMMDD zu erhalten, ISO/EUR/USA usw. das geht ja ganz toll.
Mit Substring wollte ich das jetzt nicht machen, bleibt aber nichts anderes oder?
Danke schon mal vorab!
Andi Göring
Mit Replace(char(date, iso), '-', '') gehts etwas einfacher.
Wie wäre es damit:
int(date(now()))
Schön zu wissen.
Allerdings sollte dann ebenso "int(current date)" funktionieren.
Dec(current date, 8, 0) geht nämlich nicht.
char(int(current date))
geht genauso wie
char(dec(current date))
Was geht bei Dir nicht?
Scheint nun mal wieder Releaseabhängig zu sein (V7R2?, V7R3?):
select int(current date) from sysibm/sysdummy1
SQL0402: Verwendung von INTEGER ungültig. (bei V7R1)
Also muss ich (mal wieder) weiter bei den Umgehungen bleiben.
andigoering
23-05-17, 11:51
Hallo Baldur, hallo KM,
das mit Replace gefällt mir am besten, INT läuft hier bei mir (V7R1) auch nicht.
Danke für die Tips!
Andi
Ich tippe mal ab 7.2
Ich habe hier Systeme mit 7.1, 7.2 und 7.3
Bei 7.1 = Fehler, ab 7.2 geht das
Gruß
Ronald
Das scheint dann tatsächlich releaseabhängig zu sein. Wir haben V7R2. Da funktionieren alle Aufrufe.
Gruß,
KM
Wen wunderts?
Mit jedem neuen Release kommen neue Funktionen.
Deshalb wird hier im Forum ja gerne mit neuen Funktionen hausiert wo ich alter Hase dann mit alten Releasen diese nicht nutzen kann.
Und ich kann meinen Kunden auch nicht ständig sagen "das geht dann mit V7R3" wenn die noch V5R4 haben.
Zumindest funktioniert ja schon mal die Datumsumwandlung von JJJJMMTT sehr einfach mit
"date(char(MyJJfld * 1000000))"
In diesem Fall wird der 14-Stellige Wert als Timestamp interpretiert.
14 Stellen?
Man erinnere sich: die RPG-Funktion TIME liefert einen 14-stelligen Wert Datum+Zeit.
Man kann sich also das aufbauen eines ISO-Formates schenken.