【发布时间】:2020-02-18 20:34:54
【问题描述】:
我是 SQL 加载器的新手,在通过 SQL 加载器加载数据时无法修剪时间戳格式。 我的控制文件如下所示:
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.700000000
我想从输出中修剪毫秒数(.700000000)。我的输出应该是“18-FEB-20 18.10.33”。有没有办法通过 SQL 加载器本身来做到这一点?
【问题讨论】:
-
尝试使用
"current_date"而不是"current_timestamp(1)"。如果这不起作用,您也许可以使用 OracleFORMAT函数来格式化时间戳字符串。 -
@digital.aaron "current_date" 只显示日期而不是时间。
-
您需要“日期表达式 current_timestamp(0)”。在格式 timestamp(n) 中,n 告诉 Oracle 要保留小数秒的位数。
-
您是想说表中的 column5 是日期数据类型,并且您正试图将时间戳数据加载到其中吗?
-
@Gary_W。第 5 列的名称是日期。数据类型仅为时间戳。这工作正常,但我不想在输出中出现小数秒
标签: oracle sql-loader time-format