PDA

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

Fuerchau
23-05-17, 09:35
Mit Replace(char(date, iso), '-', '') gehts etwas einfacher.

KM
23-05-17, 10:22
Wie wäre es damit:

int(date(now()))

Fuerchau
23-05-17, 10:36
Schön zu wissen.
Allerdings sollte dann ebenso "int(current date)" funktionieren.
Dec(current date, 8, 0) geht nämlich nicht.

KM
23-05-17, 10:56
char(int(current date))

geht genauso wie

char(dec(current date))

Was geht bei Dir nicht?

Fuerchau
23-05-17, 11:12
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

malzusrex
23-05-17, 12:13
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

KM
23-05-17, 13:48
Das scheint dann tatsächlich releaseabhängig zu sein. Wir haben V7R2. Da funktionieren alle Aufrufe.

Gruß,
KM

Fuerchau
23-05-17, 14:09
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.