Как заполнить поле метки времени с текущим использованием метки времени Загрузчик Oracle Sql

Когда я использовал NHibernate, это было так близко к, в спящем режиме, что большая часть документации работала на обоих. Попробуйте документы Java, если Вы не можете найти ответ для версии.NET и видеть, работает ли она.

14
задан Donal Fellows 10 August 2010 в 12:47
поделиться

2 ответа

Пробовали ли вы следующее:

CURRENT_TIMESTAMP [(точность)]

select current_timestamp(3) from dual;

CURRENT_TIMESTAMP(3)
-----------------------------
10-JUL-04 19.11.12.686 +01:00

Для этого в SQLLDR вам нужно будет использовать EXPRESSION в файле CTL, чтобы SQLLDR знал, как лечить вызов как SQL.

Замените:

LAST_UPDATED SYSTIMESTAMP

на:

LAST_UPDATED EXPRESSION "current_timestamp(3)"
12
ответ дан 1 December 2019 в 14:11
поделиться

Я принял RC ' s ответ, потому что в конечном итоге он ответил на то, что я спрашивал, но мое незнание некоторых инструментов Oracle заставило меня усложнить задачу, чем нужно.

Я пытался заставить SQL * Loader записывать временную метку, а не просто Дата. Когда я использовал SYSDATE, а затем делал выбор в таблице, он отображал только дату (05-AUG-09).

Затем я попробовал метод RC (в комментариях), и он сработал. Тем не менее, когда я сделал выбор в таблице, я получил тот же формат даты. Затем мне пришло в голову, что это может быть просто усечение остатка для отображения. Итак, я сделал:

select TO_CHAR(LAST_UPDATED,'MMDDYYYY:HH24:MI:SS') from contact;

И он все отобразил. Затем я вернулся к контрольному файлу, изменил его на SYSDATE и выполнил тот же запрос, и, конечно же, HH: MI: SS был там и точным.

Все это делается в SqlDeveloper. Я не Я не знаю, почему по умолчанию используется такое поведение. Также меня сбили с толку следующие два оператора sqldeveloper:

SELECT CURRENT_TIMESTAMP FROM DUAL; //returns a full date and time 

SELECT SYSDATE FROM DUAL; // returns only a date
3
ответ дан 1 December 2019 в 14:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: