在SQL Loader中重新格式化日期



我正在使用SQL Loader加载Oracle表,我有一个日期格式的问题。数据所在的CSV文件的字符串格式为YYYY-MM-DD HH:MM:SS,而Oracle表的日期格式为DD-MON-YY。

我目前正在逐行浏览CSV文件,以在加载之前查找和重新格式化任何日期,但文件可以达到10M+行,这可能是一个相当缓慢的过程。SQL Loader是否允许在加载中重新格式化日期?

我在找类似

的东西
LOAD DATA
INFILE 'data.csv'
TRUNCATE
INTO TABLE data
FIELDS TERMINATED BY '|'
TRAILING NULLCOLS
(
COL1,
COL2,
CREATED_DATE DATE 'DD-MON-YY',
LAST_UPDT_DATE DATE 'DD-MON-YY
)

我听说DATE命令可以自动格式化日期,但目前为止还没有成功。

假设created_datelast_updt_date在数据库中实际定义为date,则它们没有格式。它们被存储在一个内部打包的二进制格式中,这是人类无法读懂的。

控制文件需要指定平面文件中表示日期的字符串的格式。你说格式是"YYYY-MM-DD HH:MM:SS"但这说不通。分钟是MI而不是MM,所以我认为这是一种类型。HH是一个12小时的时间格式,但没有AM/PM指示器就没有意义。所以我猜你的字符串使用的是24小时的时间格式,也就是HH24。所以我猜你想要

CREATED_DATE DATE 'YYYY-MM-DD HH24:MI:SS',

相关内容

  • 没有找到相关文章

最新更新