27.12.2012 Aufrufe

SChWERPUNKT - Midrange Magazin

SChWERPUNKT - Midrange Magazin

SChWERPUNKT - Midrange Magazin

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!