Nicht unterstützte oder eingeschränkt nutzbare Natural-Funktionen


Datum, Uhrzeit und Zeitstempel

Datum (Date)

Bei der Umwandlung von DATE in CHAR hat das Datumsformat, das sich aus der Funktion ergibt, immer das ISO-Format. Das Datumsformat in der Datei db2.properties wird nicht berücksichtigt. Dies ist auf eine Einschränkung des Db2 JDBC-Treibers zurückzuführen.

Zur Lösung dieses Problems können Sie den zusätzlichen Parameter in der CHAR-Funktion zum Ändern des DATE/TIME-Formats verwenden.

CHAR(CURRENT DATE)
/* RESULT FORMAT EXAMPLE: 2023-05-01

Uhrzeit (Time)

Bei der Umwandlung von TIME in CHAR hat das Zeitformat, das sich aus der Funktion ergibt, immer das ISO-Format. Das Zeitformat in der Datei db2.properties wird nicht berücksichtigt. Dies ist auf eine Einschränkung des Db2 JDBC-Treibers zurückzuführen.

Zur Lösung dieses Problems können Sie den zusätzlichen Parameter in der CHAR-Funktion zum Ändern des DATE/TIME-Formats verwenden.

CHAR(CURRENT TIME)
/* RESULT FORMAT EXAMPLE: 01.01.01

Zeitstempel (Timestamp)

Wenn bei der Auswahl von Zeitstempeldaten der Nachkommateil der Quellspalte mehr als 9 Dezimalstellen hat, kann das Ergebnis auf 9 Stellen abgeschnitten werden. Dies geschieht aufgrund einer Einschränkung des Db2 JDBC-Treibers. Die Umwandlung des Ergebnisses in CHAR löst das Problem.

CURRENT TEMPORAL BUSINESS_TIME
/* RESULT EXAMPLE: 2011-02-28-01.01.01.123456789
CHAR(CURRENT TEMPORAL BUSINESS_TIME)
/* RESULT EXAMPLE: 2011-02-28-01.01.01.123456789012
CURRENT TIMESTAMP(12)     
/* RESULT EXAMPLE: 2023-04-25-11.06.11.292553363
CHAR(CURRENT TIMESTAMP(12))
/* RESULT EXAMPLE: 2023-04-25-11.06.11.292553363769

Zeitstempel mit Zeitzone (Timestamp with Timezone)

Bei der Auswahl von Daten aus einer Spalte vom Typ TIMESTAMP WITH TIMEZONE wird die Zeitzone nicht im Ergebnis angezeigt. Dies geschieht aufgrund einer Einschränkung des Db2 JDBC-Treibers. Die Umwandlung des Ergebnisses in CHAR löst das Problem.

SELECT TIMESTAMP_W_TIMEZONE_COLUMN FROM ...
/* RESULT EXAMPLE: 2012-02-29-05.03.59.100000
SELECT CHAR(TIMESTAMP_W_TIMEZONE_COLUMN) FROM ...
/* RESULT EXAMPLE: 2012-02-29-07.03.59.100000+02:00 

Fließkomma (Floating Point)

Wenn Sie Daten aus einer Spalte vom Typ FLOATING POINT auswählen und die Daten mehr als zwölf Ziffern haben, ist die Rundungsregel anders als bei Natural for Db2 (NDB). Daher kann der Wert der letzten Ziffer vom NDB-Ergebnis abweichen.

/* Result with NDB
STDDEV SALARY = .9742432961021595E 04
/* Result with NDZ
STDDEV SALARY = .9742432961021594E 04
/* Result with NDB
STDDEV SALARY =  9742.432961021595
/* Result with NDZ
STDDEV SALARY =  9742.432961021594

Statements

Statements mit Einschränkungen

DELETE

Natural for Db2 for zIIP unterstützt kein positioniertes DELETE-Statement über ein ROWSET unter Verwendung der Klausel FOR ROW oder WHERE CURRENT OF. Ein positioniertes DELETE mit der Klausel WHERE CURRENT OF wird bei einer einzelnen Zeile unterstützt.

INSERT

Natural for Db2 for zIIP unterstützt beim INSERT-Statement kein Einfügen mehrerer Zeilen.

UPDATE

Ein positioniertes UPDATE über ein ROWSET unter Verwendung der Klausel FOR ROW oder WHERE CURRENT OF wird von Natural for Db2 for zIIP nicht unterstützt. Ein positioniertes UPDATE mit der Klausel WHERE CURRENT OF wird bei einer einzelnen Zeile unterstützt.

MERGE

Natural for Db2 for zIIP unterstützt keine MERGE-Statements mit mehreren Zeilen (values-multiple-row).

Nicht unterstützte Statements

Die folgenden Natural/Db2 SQL-Statements werden von Natural for Db2 for zIIP nicht unterstützt:

Statische Ausführung

Die statische Vorbereitung und Ausführung von Programmen sind experimentelle Funktionen und haben einen eingeschränkten Funktionsumfang.