2011-10-31 27 views
1

我正在爲我的項目使用Db2數據庫。我想將數據從本地導出到服務器。 所以我用導出命令來獲取數據。DB2導出命令導出無效日期

export to '/home/user/user.sql' of del select * from user 

這工作正常。但是數據的日期格式在下面的user.sql文件中會出錯。

1,"user1",20110606 

2,"user2",20110607 

這裏20110606是日期格式。它導出的格式是這樣的,而不是2011-06-06

由於這個問題,當我將數據加載到服務器時,日期字段被存儲爲NULL。

請幫忙。提前致謝。

+0

這對DB2如何導出存儲在DATE列中的數據是很正常的。當你使用IMPORT或LOAD命令時,它會自動解析這個數據,假設它的YYYYMMDD。如果您遇到此錯誤,請發佈您正在執行的實際LOAD或IMPORT聲明以及您得到的具體錯誤。 –

+0

@IanBjorhovde - 如果它認爲日期數據是數字,則可能會出現問題 - 正常轉換將自_ 0001-01-01起__天數__;給定的「天數」在55061年 - 超出範圍。這可能需要導出/導入爲「CHAR」。 –

+0

@ X-Zero只要您處理實際的DATE列,DB2實用程序本身就不會有任何問題。使用第三方工具,或非DATE列,YMMV。因此,我要求從OP獲得更多信息。 –

回答

2

有兩件事你可以嘗試。

EXPORT命令有一個timestampformat參數,可以在出路時格式化時間戳。你的命令看起來類似:

export to '/home/user/user.sql' of del 
modified by timestampformat="YYYY-MM-DD" select * from user 

或者你可以使用一些內置格式化函數DB2的來格式化select語句(例如CHARTIMESTAMPFORMAT)列。例如:

export to '/home/user/user.sql' of del 
select col1, col2...char(date_col) from user 
+0

'timestampformat修改'表達式僅適用於TIMESTAMP列 - 不是DATE列。 –

+0

謝謝..它適用於時間戳格式。日期還有什麼選擇嗎? – Coder

+0

如果您按照我提供的鏈接,應該可以看到EXPORT命令和格式化日期的所有選項。 –