2015-07-24 2 views
0

Я создал следующую таблицу:Teradata Формат даты

CREATE SET TABLE test_hold.test_lct ,NO FALLBACK , 
NO BEFORE JOURNAL, 
NO AFTER JOURNAL, 
DATABLOCKSIZE = 65024 BYTES, CHECKSUM = DEFAULT, 
DEFAULT MERGEBLOCKRATIO 
(
    LCT_NBR SMALLINT NOT NULL, 
    RGN_NBR SMALLINT NOT NULL, 
    bus_name CHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC, 
    mail_add CHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC, 
    city CHAR(50) CHARACTER SET LATIN NOT CASESPECIFIC, 
    zip CHAR(8) CHARACTER SET LATIN NOT CASESPECIFIC, 
    OPN_DT DATE FORMAT 'YYYY-MM-DD', 
    CSE_DT DATE FORMAT 'YYYY-MM-DD') 
    UNIQUE PRIMARY INDEX I0050PI (LCT_NBR); 

вопрос я имею с двумя столбцами дат. После загрузки записей в Teradata из плоского файла (который содержит даты в формате YYYY-MM-DD) с использованием Informatica, я замечаю, что даты на самом деле имеют формат MM/DD/YYYY.

Мое картирование в Informatica использует плоский файл в качестве источника и моей таблицы Teradata в качестве мишени и просто преобразует даты в даты объектов/времени, используя преобразование выражений со следующей логикой:

TO_DATE(i_Date, 'YYYY-MM-DD') 

Выражения похоже, ничего не делает, потому что, если я не преобразую строку в дату/время перед загрузкой в ​​Teradata, я получаю тот же результат.

Почему Teradata разрешает запись, содержащую формат, не указанный в инструкции create? Я ожидал бы, что вставка не сработает, и чтобы в таблице не было записей.

Спасибо,

+0

@Shawn пожалуйста [править] Ваш вопрос и описать * Вопрос Я *, имеющий надлежащим образом: ожидаемые результаты, фактические результаты, выборочные данные, сообщения об ошибках. Также **, что вы сделали? ** * Загрузка из плоского файла с помощью informatica * не много говорит. И почему «тоже» в *, который также содержит *? Вы действительно должны прочитать свой вопрос, прежде чем публиковать его. Google задает хорошие вопросы –

+0

Итак, данные загружаются в таблицу, но когда вы «ВЫБЕРИТЕ» одну из этих записей, вы видите формат «MM/DD/YYYY»? – JNevill

+0

Правильно, сообщений об ошибках нет, но только в неправильном формате. Я предполагаю, что проблема заключается в преобразовании даты/времени Informatica в дату Teradata, которая вызывает это? –

ответ

0

Format ключевое слово просто используется для управления, как это отображается. Различные инструменты могут выбрать отображение даты по-разному в зависимости от настроек в инструменте. Даты обычно хранятся в некотором внутреннем представлении, специфичном для базы данных. Использование такой функции, как to_char, позволит вам отображать данные в нужном формате.

Format

+0

Спасибо, сэр! Вы не представляете, как долго я пытался это понять, попытался отметить ваш ответ, чтобы принять его, но я не уверен, что его работа? –

+0

В Teradata FORMAT - это только формат * по умолчанию *, используемый для кастования из/в другой тип данных. – dnoeth

Смежные вопросы