使用Teradata SQL Assistant从文本文件插入日期的正确格式是什么

使用Teradata SQL Assistant从文本文件插入日期的正确格式是什么,teradata,teradata-sql-assistant,Teradata,Teradata Sql Assistant,我正在尝试将以制表符分隔的文本文件中的数据插入到我创建的Teradata表中。 Teradata SQL Assistant似乎无法将文件中的日期识别为日期 如果我尝试以下代码 create set table my_table ( update_date date , status_code smallint ) INSERT INTO my_table VALUES (?, ?) 我收到错误:更新日期的值无效 但是,当我尝试代码时 create set table my

我正在尝试将以制表符分隔的文本文件中的数据插入到我创建的Teradata表中。 Teradata SQL Assistant似乎无法将文件中的日期识别为日期

如果我尝试以下代码

create set table my_table
(
    update_date date
    , status_code smallint
)

INSERT INTO my_table 
VALUES (?, ?)
我收到错误:更新日期的值无效

但是,当我尝试代码时

create set table my_table
(
    update_date varchar(32)
    , status_code smallint
)

INSERT INTO my_table 
VALUES (?, ?)
上传工作顺利。
我尝试了几种格式:2019年8月28日、2019年8月28日和2019年8月28日。所有这些都产生了相同的错误

通过提供正确的格式将文本文件中的值强制转换为日期解决了问题

以下代码执行所需任务时没有错误:

create set table my_table
(
    update_date date
    , status_code smallint
)

insert into my_table 
values (cast (? as date format 'dd/mm/yyyy'), ?)

我不确定这是否有效,但您可以尝试在
CSV
文件中显式地强制转换
DATE
值:
DATE'2019-08-28'
。也许SQLA会用这种方式来处理。或者在您的
DDL
中明确指定格式:
update\u date format'yyyyy-MM-DD'
@ravioli我没有尝试重新上传数据,但是在执行select:Cast时(my_table.update\u date AS date format'DD-MM-YYYY')工作正常。。你的评论很难理解。您的解决方案解决了错误,还是一个问题?如果它不是一个解决方案,并且代码创建了一个错误。。。这是一个新问题。。。请澄清。。。您的答案,因为它目前在“低质量审查”下被标记和检查。(我确实看到你是问题的关键。。所以我猜这就是解决方案?如果是,请多解释一点,让它不被审查。@ZF007现在好点了吗?