我正在尝试将带有时间戳的数据批量加载到DB2 UDB版本9中,但是它没有用完。
我的目标表已经创建了
CREATE TABLE SHORT
(
ACCOUNT_NUMBER INTEGER
, DATA_UPDATE_DATE TIMESTAMP DEFAULT current timestamp
, SCHEDULE_DATE TIMESTAMP DEFAULT current timestamp
...
0)
这是我的批量加载的代码
load from /tmp/short.csv of del modified by COLDEL, savecount 500 messages /users/chris/DATA/short.msg INSERT INTO SHORT NONRECOVERABLE DATA BUFFER 500
没有加载任何行。我收到错误
SQL0180N The syntax of the string representation of a datetime value is
incorrect. SQLSTATE=22007
我在创建表时尝试强制使用时间戳格式:
CREATE TABLE SHORT
(
ACCOUNT_NUMBER INTEGER
, DATA_UPDATE_DATE TIMESTAMP DEFAULT 'YYYY-MM-DD HH24:MI:SS'
, SCHEDULE_DATE TIMESTAMP DEFAULT 'YYYY-MM-DD HH24:MI:SS'
...
0)
但无济于事:SQL0574N DEFAULT value or IDENTITY attribute value is not valid for column
。源我的数据文件中的时间戳格式如下所示
2002/06/18 17:11:02.000
如何设置时间戳列的格式?
答案 0 :(得分:2)
使用LOAD实用程序的TIMESTAMPFORMAT文件类型修饰符指定数据文件中存在的格式。
load from /tmp/short.csv
of del
modified by COLDEL, TIMESTAMPFORMAT="YYYY/MM/DD HH:MM:SS.UUUUUU"
savecount 500
messages /users/chris/DATA/short.msg
INSERT INTO SHORT
NONRECOVERABLE
答案 1 :(得分:0)
它对我来说几乎像ISO。 如果您能够编辑数据文件并且可以安全地将斜杠更改为连字符(可能会剪切小数部分)并且DB2接受ISO,那么您就回家了。