修改oracle externat table日期列格式
modify oracle externat table date column format
我有一个外部 table 链接到这样的 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 小时,所以我想在此 table 中使用以下语句更改它:
ALTER TABLE
XT_FIN
MODIFY ( BA_DATE DATE 'MM/DD/YYYY HH24:MI:SS' );
但它不喜欢在 DATE 之后使用格式字符串,而是想要 )。
如何仅更改此日期列的格式?
谢谢
您正在尝试更改 column definition in the table itself - and a date column doesn't have a format. You are 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'
)
);
...包括您在 post.
中省略的任何其他列
我有一个外部 table 链接到这样的 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 小时,所以我想在此 table 中使用以下语句更改它:
ALTER TABLE
XT_FIN
MODIFY ( BA_DATE DATE 'MM/DD/YYYY HH24:MI:SS' );
但它不喜欢在 DATE 之后使用格式字符串,而是想要 )。 如何仅更改此日期列的格式? 谢谢
您正在尝试更改 column definition in the table itself - and a date column doesn't have a format. You are 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'
)
);
...包括您在 post.
中省略的任何其他列