Даты хранятся внутри как INTEGER
значений в Teradata. Вам необходимо указать DEFAULT
как DATE '0001-01-01'
и разрешить предложение FORMAT
, чтобы вернуть обработанные данные клиенту. Это также означает, что вам придется загружать данные в качестве допустимых дат, а не «yyyy-mm».
EDIT:
/* Test results in Teradata Studio 14.2 via JDBC connection to Teradata 13.10 */
create table MyDB.MyTable
(x1 date format 'yyyy-mm' not null default date '0001-01-01');
insert into MyDB.MyTable values (date '2013-01-01'); -- Succeeds
insert into MyDB.MyTable values ('2013-02'); -- Fails
insert into MyDB.MyTable values (date '2013-02'); -- Fails
select * from cms_work_comm_prd.t5; -- Returns to Teradata Studio (JDBC): 2013-01-01
что означает, что я должен хранить их как символ, а не как дату? – Anantha
Добавлен пример, основанный на тестах в Teradata 13.10 через Teradata Studio 14.2 –
Отлично, поздравляю Anantha, у вас есть решение обеих проблем .. !! – user2407394