db2时间戳格式未加载

时间:2011-09-19 16:24:48

标签: sql database datetime db2

我正在尝试将带有时间戳的数据批量加载到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

如何设置时间戳列的格式?

2 个答案:

答案 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,那么您就回家了。

相关问题