SQL 加载程序日期问题
SQL loader date issue
下面是 Sql 加载程序控制脚本,我试图用它来将数据从输入文件加载到 Oracle。我对 COL3 有疑问,它是 DATATABLE 中的日期数据类型。文件中的数据采用时间戳格式。
我得到的错误是 "ORA-00907: missing right parenthesis"。
load data
INFILE 'C:\datafile.txt'
INTO TABLE DATATABLE
APPEND
FIELDS TERMINATED BY '|'
(
COL1,
X FILLER,
COL2 FLOAT,
Y FILLER,
Z FILLER,
COL3 DATE(10) "TRUNC(TO_TIMESTAMP(:COL3,'MM/DD/YYYY'))",
COL4,
COL5 "MM/DD/YYYY HH:MI:SS PM")
// C:\datafile.txt
1234567|.59999999999999999|.39999999999999999|240.74000000000001|USER1|11/29/2016 12:00:00 AM|USER1|11/29/2016 12:00:00 AM
我用下面的 sql 测试了输出,这似乎是正确的:
select TRUNC(to_timestamp('JAN 29 2016 12:00:00 AM', 'MON DD YYYY HH:MI:SS:FF3 PM')) FROM DUAL ;
如有任何帮助,我们将不胜感激。
那样试试(我不能在这台电脑上试)
load data
INFILE 'C:\datafile.txt'
INTO TABLE DATATABLE
APPEND
FIELDS TERMINATED BY '|'
(
COL1,
X FILLER,
COL2 FLOAT,
Y FILLER,
Z FILLER,
COL3 DATE 'MM/DD/YYYY HH:MI:SS AM',
COL4,
COL5 DATE 'MM/DD/YYYY HH:MI:SS AM')
您数据文件中的日期格式不是时间戳。这是 oracle 的正常日期格式。所以你不必尝试将其转换为时间戳
下面是 Sql 加载程序控制脚本,我试图用它来将数据从输入文件加载到 Oracle。我对 COL3 有疑问,它是 DATATABLE 中的日期数据类型。文件中的数据采用时间戳格式。
我得到的错误是 "ORA-00907: missing right parenthesis"。
load data
INFILE 'C:\datafile.txt'
INTO TABLE DATATABLE
APPEND
FIELDS TERMINATED BY '|'
(
COL1,
X FILLER,
COL2 FLOAT,
Y FILLER,
Z FILLER,
COL3 DATE(10) "TRUNC(TO_TIMESTAMP(:COL3,'MM/DD/YYYY'))",
COL4,
COL5 "MM/DD/YYYY HH:MI:SS PM")
// C:\datafile.txt
1234567|.59999999999999999|.39999999999999999|240.74000000000001|USER1|11/29/2016 12:00:00 AM|USER1|11/29/2016 12:00:00 AM
我用下面的 sql 测试了输出,这似乎是正确的:
select TRUNC(to_timestamp('JAN 29 2016 12:00:00 AM', 'MON DD YYYY HH:MI:SS:FF3 PM')) FROM DUAL ;
如有任何帮助,我们将不胜感激。
那样试试(我不能在这台电脑上试)
load data
INFILE 'C:\datafile.txt'
INTO TABLE DATATABLE
APPEND
FIELDS TERMINATED BY '|'
(
COL1,
X FILLER,
COL2 FLOAT,
Y FILLER,
Z FILLER,
COL3 DATE 'MM/DD/YYYY HH:MI:SS AM',
COL4,
COL5 DATE 'MM/DD/YYYY HH:MI:SS AM')
您数据文件中的日期格式不是时间戳。这是 oracle 的正常日期格式。所以你不必尝试将其转换为时间戳