通过 SQL LOADER 存储日期和时间值
Posted
技术标签:
【中文标题】通过 SQL LOADER 存储日期和时间值【英文标题】:storing date and time value through SQL LOADER 【发布时间】:2015-05-08 08:46:30 【问题描述】:我正在尝试为 sql 加载程序编写控制文件。
固定长度格式的源文件。
我在源文件中存在日期和时间,例如,CCYYMMDD
格式的日期从位置 17 到位置 24,HH:MM:SS24
格式的日期从位置 25 到 34。
我喜欢将此日期和时间值形式的源文件以 'YYYYMMDD HH24:MI:SS' 格式存储在某个表的日期列中。
谁能帮忙告诉一下如何在sql loader的控制文件中实现这一点?
下面的代码可以吗?我怀疑源文件中的日期和时间之间没有空格?
APPEND INTO TABLE target_table
TRAILING NULLCOLS
(
date_column POSITION(17:34) "TO_DATE(:DATE_TIME,'YYYYMMDD HH24:MI:SS')"
)
任何线索将不胜感激
【问题讨论】:
这应该可以。但是删除空格,格式应该与文件中的数据匹配。试试看! 【参考方案1】:查看Oracle's documentationBOUNDFILLER:
...
(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'),
...
)
它允许您定义不对应任何列的字段。
【讨论】:
以上是关于通过 SQL LOADER 存储日期和时间值的主要内容,如果未能解决你的问题,请参考以下文章