我正在尝试为 sql 加载器编写一个控制文件。 其源文件采用固定长度格式。 我在源文件中存在日期和时间,例如,从位置 17 到位置 24 表示CCYYMMDD
格式的日期,从位置 25 到 34 的格式为HH:MM:SS24
格式。 我喜欢将此日期和时间值表单源文件以"YYYYMMDD HH24:MI:SS"格式存储在某个表格的日期列中。
任何人都可以帮助告诉如何在sql加载程序的控制文件中实现这一点吗?
以下代码段可以吗?我怀疑,因为源文件中的日期和时间之间没有空格?
APPEND INTO TABLE target_table
TRAILING NULLCOLS
(
date_column POSITION(17:34) "TO_DATE(:DATE_TIME,'YYYYMMDD HH24:MI:SS')"
)
任何线索将不胜感激
查看 Oracle 的文档BOUNDFILLER:
...
(date_column BOUNDFILLER POSITION(17:24),
time_column BOUNDFILLER POSITION(25:34),
date_n_time POSITION(1:1)
TO_DATE(:date_column || ' ' || :time_column, 'CCYYMMDD HH24:MI:SS'),
...
)
它允许您定义不对应于任何列的字段。