Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 NLS_DATE_FORMAT + insert = ORA-01830  [new]
ivenhoe
Member

Откуда: Город М (не Москва)
Сообщений: 120
Здравствуйте, многоуважаемые!
В oracle я абсолютный новичок. Потребовалось из MySQL данные перекинуть в oracle, встал вопрос в формате даты.
После поисков по форуму пришел вот к такой конструкции:
alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
INSERT INTO tops VALUES (1, 1, '2007-11-07 07:29:38', 'POS_1', 0, 'CreateOrder', 1, '0', '', '', ''); -- строка из сгенерированного mysql-скрипта
Выполняю данный скрипт в PL/SQL Developer, получаю ошибку ORA-01830: шаблон формата даты завершается перед преобразованием всей строки ввода
Поиск по номеру ошибки дал большое количество ссылок, но все они сводятся к одному: требуется убедиться в правильности шаблона даты.
Убеждаемся:
select TO_DATE('2007-11-07 07:29:38', 'YYYY-MM-DD HH24:MI:SS') from dual;
Результат: 2007-11-07 07:29:38
Т.е. все как бы правильно.
Еще рекомендут проверить таким образом:
alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
select sysdate from dual;
Результат: 2010-05-24 09:59:20
Т.е. формат все-таки правильный.
Однако с инсертом не прокатывает! Что посоветует многомудрая общественность? Как в оракле сделать select @@version - не знаю, но версия 10 с копейками.
24 май 10, 08:02    [8821344]     Ответить | Цитировать Сообщить модератору
 Re: NLS_DATE_FORMAT + insert = ORA-01830  [new]
JaRo
Member

Откуда:
Сообщений: 1659
Идем в SQLPlus, делаем:
desc tops
,потом Ваш скрипт, листинг выкладываем сюда.

Версия:
select * from v$version
24 май 10, 10:12    [8821798]     Ответить | Цитировать Сообщить модератору
 Re: NLS_DATE_FORMAT + insert = ORA-01830  [new]
ivenhoe
Member

Откуда: Город М (не Москва)
Сообщений: 120
JaRo
Идем в SQLPlus, делаем:
desc tops
,потом Ваш скрипт, листинг выкладываем сюда.

╚ь                                        ╧єёЄю?   ╥шя
----------------------------------------- -------- ----------------------------

ID                                                 NUMBER(38)
PACKAGEID                                          NUMBER(38)
CREATEDATE                                         TIMESTAMP(6)
MERCHANTID                                         VARCHAR2(20)
OPERTYPE                                           NUMBER(38)
OPERNAME                                           VARCHAR2(20)
ORDERID                                            NUMBER(38)
AMOUNT                                             NUMBER(15)
CURRENCY                                           VARCHAR2(3)
TRMINALNAME                                        VARCHAR2(20)
TWOID                                              VARCHAR2(20)


JaRo
Версия:

sqlplus

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
24 май 10, 11:41    [8822537]     Ответить | Цитировать Сообщить модератору
 Re: NLS_DATE_FORMAT + insert = ORA-01830  [new]
JaRo
Member

Откуда:
Сообщений: 1659
ivenhoe
CREATEDATE                                         TIMESTAMP(6)
NLS_DATE_FORMAT действует на тип DATE

nls_timestamp_tz_format
nls_timestamp_format
24 май 10, 11:52    [8822638]     Ответить | Цитировать Сообщить модератору
 Re: NLS_DATE_FORMAT + insert = ORA-01830  [new]
ivenhoe
Member

Откуда: Город М (не Москва)
Сообщений: 120
*очень звонкий хлопок по лысеющему лбу*
24 май 10, 11:53    [8822644]     Ответить | Цитировать Сообщить модератору
 Re: NLS_DATE_FORMAT + insert = ORA-01830  [new]
ttt_ttt_ttt
Guest
AMOUNT u Vas number, a vstavljaete '0'
24 май 10, 11:54    [8822646]     Ответить | Цитировать Сообщить модератору
 Re: NLS_DATE_FORMAT + insert = ORA-01830  [new]
ivenhoe
Member

Откуда: Город М (не Москва)
Сообщений: 120
Спасибо за подсказку, с этим разберемся, главное было победить дату
24 май 10, 11:58    [8822666]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить