1
我在我的Java應用程序中使用H2數據庫。我想將.csv文件加載到表中。我的.csv文件包含時間戳格式07/16/2011 02:43:43
但H2 DB的默認時間戳格式爲2005-12-31 23:59:59
H2數據庫 - CSVREAD - 從csv讀取時間戳到時間戳列
所以,當我使用CSVREAD
加載該.csv文件到數據庫,我收到以下異常:
org.h2.jdbc.JdbcSQLException: Cannot parse "TIMESTAMP" constant "07/16/2011 02:43:43"; SQL statement:
-- row #2 ('CIRCLE', 'MSISDN', 'PORT_IN_DATE', 'OPERATOR', 'PRODUCT_TYPE', 'PORT_ID') [22007-163]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.value.ValueTimestamp.parse(ValueTimestamp.java:87)
at org.h2.value.Value.convertTo(Value.java:819)
at org.h2.table.Column.convert(Column.java:155)
at org.h2.command.dml.Insert.addRow(Insert.java:153)
at org.h2.command.dml.Select.queryFlat(Select.java:524)
+1您想查看與H2數據庫相關的另一個Q http://stackoverflow.com/questions/8761690/h2-database-csvread-skip-loading-header-line-of-the-csv-file -into-db – 2012-01-06 20:43:34
以及另外一件事情。在'CSVWRITE'函數中,查詢用單引號引起來。那麼我怎麼寫這個where子句'start_timestamp>'2011-09-01 00:00:00.00',因爲它包含單引號。 – 2012-01-06 20:46:10
不會逃脫工作?像start_timerstamp。 \'2011-09-01 00:00:00.00''? – 2012-01-06 21:10:07