SChWERPUNKT - Midrange Magazin
SChWERPUNKT - Midrange Magazin
SChWERPUNKT - Midrange Magazin
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Siehe hierzu Beispiel 1. Anmerkung:<br />
Die Funktion TO_DATE(), die von anderen<br />
Datenbanken (z. B. Oracle oder Postgre)<br />
für die gleiche Funktionalität verwendet<br />
wird, kann als Syntaxalternative für<br />
die Funktion Timestamp_ Format() verwendet<br />
werden.<br />
Skalare Funktion VarChar_Format()<br />
Mit der skalaren Funktion VarChar_<br />
Format() können Zeitmarken in eine<br />
alphanumerische Darstellung einer<br />
Zeitmarke, eines Datums oder einer<br />
Zeit in fast jedem beliebigen Format<br />
aufbereitet werden. Neben den üblichen<br />
Datums- und Zeit-Einheiten können<br />
noch weitere Informationen wie<br />
das Quartal oder die Kalenderwoche<br />
nach ISO-Richtlinien inklusive des zur<br />
Kalenderwoche gehörenden Jahres ausgegeben<br />
werden.<br />
Für den Aufruf der skalaren Funktion<br />
VarChar_Format() müssen zwei Parameter<br />
angegeben werden. Im ersten Parameter<br />
muss eine Zeitmarke oder eine<br />
alphanumerische Darstellung einer Zeitmarke<br />
im ISO- oder ANSI-Format (s. o.)<br />
enthalten sein. Ebenso ist im ersten<br />
Parameter eine 14-stellige alphanumerische<br />
Darstellung einer Zeitmarke ohne<br />
Trennzeichen und ohne Mikro-Sekunden<br />
im Format JJJJMMTTHHMISS erlaubt.<br />
Im zweiten Parameter wird das Format<br />
übergeben, in dem die Zeitmarke aufbereitet<br />
und ausgegeben werden soll.<br />
Für die Aufbereitung der Zeitmarke<br />
sind die in Tabelle 2 gezeigten Zeiteinheiten<br />
und Trennzeichen zulässig. Im<br />
Gegensatz zur Funktion Timestamp_Format()<br />
sind die Trennzeichen zwischen<br />
den einzelnen Zeiteinheiten optional,<br />
d. h. die Ausgabe eines alphanumerischen<br />
Datums im Format JJJJMMTT ist<br />
möglich. Das Jahr muss jedoch immer<br />
4-stellig ausgegeben werden, d. h., eine<br />
2-stellige Jahresangabe ist nicht<br />
zulässig.<br />
In Beispiel 2 werden diverse Zeitmarken<br />
bzw. gültige alphanumerische<br />
Darstellungen von Zeitmarken konvertiert:<br />
ó<br />
ó<br />
ó<br />
In der ersten Spalte wird die aktuelle<br />
Zeitmarke in ein Datum im europäischen<br />
Format (TT.MM.JJJJ) und eine Zeit<br />
bestehend aus Stunden und Minuten<br />
konvertiert.<br />
Im zweiten Beispiel wird eine alphanu-<br />
merische Darstellung einer Zeitmarke<br />
ohne Trennzeichen in ein alphanumerisches<br />
Datum im Format JJJJ-MM-TT<br />
konvertiert. Außerdem wird das Jahr<br />
der Kalenderwoche nach ISO sowie<br />
die Kalenderwoche ausgegeben.<br />
Im dritten Fall wird die alphanume-<br />
rische Darstellung einer Zeitmarke<br />
im ISO-Format in ein europäisches<br />
Datum, bei dem Bindestriche als<br />
ó<br />
Trennzeichen verwendet werden,<br />
konvertiert. Zusätzlich werden das<br />
Quartal, die Woche im Monat und der<br />
Wochentag nach ISO (Montag = 1 und<br />
Sonntag = 7) ausgegeben.<br />
In der vierten Spalte wird aus der ak-<br />
tuellen Zeitmarke die Zeit im Format<br />
HH:MM:SS, sowie die Mikrosekunden<br />
extrahiert. Der Datumsanteil wird ignoriert.<br />
Im letzten Beispiel wird die aktuelle<br />
Zeitmarke in ein alphanumerisches<br />
Datum im Format JJJJMMTT ohne<br />
Trennzeichen konvertiert. Der Zeitanteil<br />
wird als Anzahl Sekunden seit<br />
Mitternacht ausgegeben.<br />
Beispiel 1 Konvertierung von alphanumerischem String in Zeitmarke<br />
mit Timestamp_Format()<br />
Select Timestamp_Format('22.11.08 17:00', 'DD.MM.YY HH24:MI') ZeitM1,<br />
Timestamp_Format('23-11-08' , 'DD-MM-YY') ZeitM2,<br />
Timestamp_Format('16:00' , 'HH24:MI') ZeitM3,<br />
Timestamp_Format('8/1/2008 1:2 3', 'MM/DD/YYYY HH24:MI SS') ZeitM4<br />
from sysibm/sysdummy1;<br />
Beispiel 2 Konvertierung Zeitmarke mit der Funktion<br />
VarChar_Format<br />
select VarChar_Format(Current_Timestamp, 'DD.MM.YYYY HH24:MI'),<br />
VarChar_Format('20081231000000', 'YYYY-MM-DD IYYY/IW'),<br />
VarChar_Format('2008-12-31-23.59.59.999999', 'DD-MM-YYYY Q W ID'),<br />
VarChar_Format(Current_Timestamp, 'HH24:MI:SS.NNNNNN'),<br />
VarChar_Format(Current_Timestamp, 'YYYYMMDD SSSSS')<br />
From sysibm/sysdummy1;<br />
ó<br />
Tabelle 2:<br />
Zulässige Zeiteinheiten<br />
und<br />
Trennzeichen<br />
für die Funktion<br />
VarCar_Format()<br />
10/2010 · MIDRANGE MAgAZIN<br />
41