Oracle 无法在sql加载程序中修剪时间戳格式

Oracle 无法在sql加载程序中修剪时间戳格式,oracle,sql-loader,time-format,Oracle,Sql Loader,Time Format,我是SQL loader新手,无法在通过SQL loader加载数据时调整时间戳格式。 我的控制文件如下所示: LOAD DATA APPEND INTO TABLE MyTable fields terminated by ',' trailing nullcols ( column1, column2, column3, column4, DATE EXPRESSION "current_timestamp(1)" ) MyTable中加载的日期列的格式如下: 20年2月18日18.10.

我是SQL loader新手,无法在通过SQL loader加载数据时调整时间戳格式。 我的控制文件如下所示:

LOAD DATA
APPEND
INTO TABLE MyTable
fields terminated by ','
trailing nullcols
(
column1,
column2,
column3,
column4,
DATE EXPRESSION "current_timestamp(1)"
)
MyTable中加载的日期列的格式如下: 20年2月18日18.10.33.70000000

我想从输出(.70000000)中减去毫秒。我的输出应该是“20年2月18日18.10.33”。有没有办法通过SQL加载器本身实现这一点?

to_CHAR(current_timestamp(1),'DD-MON-YY hh:mi:ss')
在SELECT语句中按照您的请求格式化
current_timestamp(1)
。我不确定同样的语法是否能在SQL Loader中工作,但我希望类似的东西能满足您的需要

SELECT
    TO_CHAR(current_timestamp(1), 'DD-MON-YY hh:mi:ss')
FROM DUAL

尝试使用
“当前\u日期”
而不是
“当前\u时间戳(1)”
。如果这不起作用,您可能可以使用Oracle
FORMAT
函数来格式化时间戳字符串。@digital.亚伦“current_date”仅显示日期而不是时间。您需要“date EXPRESSION current_timestamp(0)”。在时间戳(n)格式中,n告诉Oracle要保留小数秒的数字。您是否试图说表中的第5列是日期数据类型,并试图将时间戳数据加载到其中?@Gary_W。第5列的名称是日期。数据类型仅为时间戳。这是工作正常,但我不希望在我的输出分数秒