Как вставить Oracle TIMESTAMP в Derby TIMESTAMP - PullRequest
1 голос
/ 08 декабря 2011

Итак, у меня есть некоторый Oracle TIMESTAMP в дампе SQL из моей базы данных Oracle.И я хочу импортировать это в базу данных Derby.В Oracle оператор SQL выглядит следующим образом:

Insert into TABLE_NAME (COL1, COL2, COL3) 
values (
  'blah',
  to_timestamp('17-MAR-11 15.52.25.000000000','DD-MON-RR HH24.MI.SS.FF'),
  'blah'
);

COL2 имеет тип TIMESTAMP здесь.Когда я запускаю его в Derby, я, как и ожидалось, получаю сообщение «Ошибка:« TO_TIMESTAMP »не распознается как функция или процедура».

Итак, как мне вставить TIMESTAMP в Derby, а более конкретно, как мне конвертировать?приведенный выше оператор SQL в оператор SQL, который выполняется в Derby?

1 Ответ

3 голосов
/ 08 декабря 2011

Поскольку Derby является базой данных Java, вы будете получать к ней доступ через JDBC, поэтому вы можете использовать escape-формат JDBC для указания значения метки времени:

INSERT INTO TABLE_NAME (COL1, COL2, COL3)
VALUES ('blah', {ts '2011-03-17 15:52:25'}, 'blah');

Но для этого потребуется переформатировать буквенное значение в формат ISO.

Приведенный выше оператор будет работать и с Oracle, если он запускается через инструмент JDBC.

...