我有一个链接到csv文件的外部表,如下所示:
create table XT_FIN
(
ba_date DATE
)
organization external
(
type ORACLE_LOADER
default directory XT_C
access parameters
(
records delimited by newline
badfile XT_LOGS:'f.bad'
logfile XT_LOGS:'f.log'
discardfile XT_LOGS:'f.dsc'
skip 1
fields terminated by ',' optionally enclosed by '"'
lrtrim
missing field values are null
(
BA_DATE DATE 'MM/DD/YYYY HH:MI:SS am'
)
)
location (XT_C:'detail.csv')
)
reject limit UNLIMITED;
CSV文件的日期时间格式已更改为24小时,因此我想使用以下语句在此表中对其进行更新:
ALTER TABLE
XT_FIN
MODIFY ( BA_DATE DATE 'MM/DD/YYYY HH24:MI:SS' );
但它不喜欢DATE之后的格式字符串,它想要)。 如何仅更改此Date列的格式? 感谢
答案 0 :(得分:1)
您正尝试更改表格中的column definition - 日期列没有格式。您是altering an external table,而您需要更改访问参数:
alter table xt_fin
access parameters (fields (ba_date date 'MM/DD/YYYY HH24:MI:SS'));
这取代了whoel访问参数部分,因此您确实需要重新指定所有其他设置:
alter table xt_fin
access parameters
(
records delimited by newline
badfile D42:'f.bad'
logfile D42:'f.log'
discardfile D42:'f.dsc'
skip 1
fields terminated by ',' optionally enclosed by '"'
lrtrim
missing field values are null
(
ba_date date 'MM/DD/YYYY HH24:MI:SS'
)
);
...包括您在帖子中遗漏的任何其他列。