Вставка значения TIMESTAMP в SQL Developer - PullRequest
0 голосов
/ 20 июня 2020

Здравствуйте, у меня не получается вставить это значение в Oracle SQL Developer Version 19.4.0.354.

'2013-01-01 00: 00: 00.0000'

Вот значение, которое я хочу вставить в одну из моих таблиц.

Я пробовал типы данных DATE и TIMESTAMP, но они не работают. Я также попытался изменить сеансы и другие возможные решения во всем rnet.

Ответы [ 3 ]

3 голосов
/ 20 июня 2020

Самый простой подход - использовать литерал метку времени, чтобы вы не полагались на неявное преобразование:

select timestamp '2013-01-01 00:00:00.0000' from dual;

Вы также можете использовать to_timestamp():

select to_timestamp('2013-01-01 00:00:00.0000', 'yyyy-mm-dd hh24:mi:ss:ff4') from dual;

С другой стороны, если вы действительно хотите работать со строкой, вам нужно будет изменить настройку nls на свой собственный формат, прежде чем:

alter session set nls_timestamp_format = 'yyyy-mm-dd hh24:mi:ss:ff4';

Затем вы можете использовать строковое значение непосредственно в запросе, и Oracle неявно преобразует его в целевой тип данных при вставке.

3 голосов
/ 20 июня 2020

Тип данных столбца должен быть TIMESTAMP. Используйте соответствующую маску формата в функции TO_TIMESTAMP.

SQL> create table test (col timestamp);

Table created.

SQL> insert into test (col) values (to_timestamp('2013-01-01 00:00:00.0000', 'yyyy-mm-dd hh24:mi:ss:ff6'));

1 row created.

Что там? (alter session здесь только для отображения результата в желаемом формате; это не влияет на значение, хранящееся в этом столбце):

SQL> alter session set nls_timestamp_format = 'dd.mm.yyyy hh24:mi:ss.ff6';

Session altered.

SQL> select * From test;

COL
---------------------------------------------------------------------------
01.01.2013 00:00:00.000000

SQL>
0 голосов
/ 20 июня 2020

У вас нет компонента времени, поэтому я бы просто использовал:

date '2013-01-01'

Это самый безопасный синтаксис (а также самый ясный и стандартный!) Для предоставления значения даты.

Если Oracle хочет метку времени, она преобразует ее правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...