CREATE TABLE TS_TEST
(
ID NUMBER (9,0) NOT NULL,
TS TIMESTAMP(6),
TS_TZ TIMESTAMP(6) WITH TIME ZONE,
TS_L_TZ TIMESTAMP(6) WITH LOCAL TIME ZONE
);
ALTER TABLE TS_TEST ADD
(
CONSTRAINT "_PK"
PRIMARY KEY
(
ID
)
INSERT INTO TS_TEST (
ID, TS, TS_TZ, TS_L_TZ)
VALUES (
/* ID */ 1,
/* TS */ TIMESTAMP '2020-01-01 12:30:00.00 Israel',
/* TS_TZ */ TIMESTAMP '2020-01-01 12:30:00.00 Israel',
/* TS_L_TZ */ TIMESTAMP '2020-01-01 12:30:00.00 Israel'
);
Now build a small app and show the data using TSmartQuery in a data grid.
If you connect with Oracle client, data is displayed correctly:
- 1
- 01.01.2020 12:30:00,000000
- 01.01.2020 12:30:00,000000 ISRAEL
- 01.01.2020 12:30:00,000000
when connected with direct TCP/IP, TIMESTAMP WITH TIMEZONE is wrong:
- 1
- 01.01.2020 12:30:00,000000
- 01.01.2020 14:30:00,000000 +02:00 // two hours later !!
- 01.01.2020 12:30:00,000000
If you update the column, it gets worse. Result displays like that
- 04.01.2020 06:30:00,000000 +66:00
Furthermore, i do not get the TZR dislayed as ISRAEL.
PLS help.