oracle alter Session FORMAT для массовых операторов вставки - не работает должным образом - PullRequest
0 голосов
/ 03 мая 2019

Я экспортировал информацию таблицы из базы данных SQL в формате операторов вставки. Многие из таблиц содержат информацию о метках времени в формате ГГГГ-ММ-ДД ЧЧ24: MI: SS. Поскольку таких утверждений сотни, для меня нереально добавлять оператор TO_DATE () с каждой датой. Я думал, что изменение формата сессий NLS DATE решит эту проблему, однако я все еще получаю сообщение об ошибке ORA-01843: not a valid month.

Тип данных столбцов TIMESTAMP.

Пример:

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS' 

INSERT INTO gcGovernance (id, userID, grantAppID, grantAppUUID, 
grantCommCatID, grantApprovalCmnt, grantApprovalDate) VALUES (758, 163, 
408, 'iahfahfahashvai', 0, '', '2016-12-20 
14:32:17');

Ответы [ 2 ]

4 голосов
/ 03 мая 2019

Если получаемый столбец является TIMESTAMP, то вам нужно установить NLS_TIMESTAMP_FORMAT, а не NLS_DATE_FORMAT.

0 голосов
/ 03 мая 2019

Вы можете попробовать использовать формат timestamp'YYYY-MM-DD HH24:MI:SS'

в этом примере insert, например

timestamp'2016-12-20 14:32:17' для grantApprovalDate столбца.

Демо

...