Beim Umwandeln einer Spalte vom Datentyp DATE und
TIME 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. Für JCC-Pakete wird die
Pre-Compiler-Option DATE/TIME auf ISO gesetzt. Das Standardverhalten der
CHAR-Funktion wird von der Pre-Compiler-Option DATE/TIME beeinflusst, die
Vorrang vor den DECP-Optionen hat. Sie können den zusätzlichen Parameter in der
CHAR-Funktion zum Ändern des
DATE/TIME-Formats verwenden.
CHAR(CURRENT DATE) /* RESULT FORMAT EXAMPLE: 2023-05-01 CHAR(CURRENT TIME) /* RESULT FORMAT EXAMPLE: 01.01.01
Beim Abruf von Zeitstempeldaten werden die Daten in einem
standardmäßigen JDBC-Format mit einer Genauigkeit von bis zu neun abgerufen.
Dies ist auf eine Einschränkung des Db2 JDBC-Treibers zurückzuführen. 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
Beim Abrufen von Daten aus einer TIMESTAMP WITH
TIMEZONE-Spalte werden die Daten in einem Standard-JDBC-Format ohne
Zeitzone abgerufen. Der zurückgegebene Wert wird um den Unterschied zwischen
der Zeitzone des Spaltenwerts und der Standardzeitzone angepasst.
Dies ist auf eine Einschränkung des Db2 JDBC-Treibers
zurückzuführen. 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
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
Die folgenden Natural/Db2-SQL-Statements werden derzeit von Natural for Db2 for zIIP (NDZ) nicht unterstützt, da die JDBC-Treiber sie nicht nativ unterstützen. Sie werden in den kommenden NDZ-Versionen verfügbar sein.
CONNECT TO
GET DIAGNOSTICS
SET CURRENT DECFLOAT MODE = :HV1 bricht mit SQL-Fehler -104 ab
SQL-Statement zum Setzen globaler Variablen schlägt bei der statischen Vorbereitung fehl
FORWARD ONLY Cursor wechselt während der statischen Vorbereitung des Programms zu SENSITIVE STATIC
Das SQL-Statement SET CURRENT DECFLOAT MODE = :HV1
bricht während der statischen Vorbereitung mit SQL-Fehler -104 ab. Dies ist auf
einen Fehler in der IBM SQLJ-Anpassung und in BIND zurückzuführen.
Alternativ funktioniert das Statement problemlos, wenn statt der Host-Variablen
ein Schlüsselwort oder ein Literal angegeben wird.
Das SQL-Statement zum Setzen der Werte für globale Variablen
schlägt bei der statischen Vorbereitung mit der Meldung Unsupported
statement (nicht unterstütztes Statement) fehl. Dies ist auf die
SQLJ-Anpassung und das BIND-Verhalten zurückzuführen.
Während des statischen Vorbereitungsvorgangs wird der Cursortyp
SENSITIVE DYNAMIC in SENSITIVE STATIC geändert. Die
Nutzung von SENSITIVE DYNAMIC wird derzeit entwickelt. Sie wird in
der nächsten NDZ-Version verfügbar sein.
Während des statischen Vorbereitungsvorgangs wird der Cursortyp
FORWARD ONLY in SENSITIVE STATIC geändert, wenn eine
Positionsaktualisierung für ein Rowset erfolgt. Dies ist darauf zurückzuführen,
dass JDBC Rowsets nicht nativ unterstützt.
Die SENSITIVE DYNAMIC-Cursortypen,
STATIC und ASENSITIVE, werden in den Cursortyp
geändert, der in der JDBC-Eigenschaft cursorSensitivity in der
Datei Db2.properties
angegeben ist.
Der Standardwert ist STATIC. Weitere Einzelheiten zur
Eigenschaft cursorSensitivity finden Sie in der
IBM-Dokumentation.
Um MERGE-Statements einschließlich der FOR
n ROWS-Klausel erfolgreich auszuführen,
sollte die Db2 JDBC-Eigenschaft statementConcentrator auf
"aus" (1) gesetzt werden. Diese JDBC-Eigenschaft kann
in der Datei Db2.properties definiert
werden.
Um Statements mit der WHERE CURRENT OF-Klausel
erfolgreich auszuführen, muss die Rowset-Unterstützung deaktiviert werden. Dies
kann durch Setzen einer oder beider Db2 JDBC-Eigenschaften
useRowsetCursor und enableRowsetSupport erreicht
werden. Diese JDBC-Eigenschaften können in der Datei
Db2.properties
definiert werden.