通过 SQL 加载程序存储日期和时间值



我正在尝试为 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'),
...
)

它允许您定义不对应于任何列的字段。

最新更新