Java H2数据库-CSVREAD-将时间戳从csv读取到时间戳列

Java H2数据库-CSVREAD-将时间戳从csv读取到时间戳列,java,timestamp,h2,Java,Timestamp,H2,我在Java应用程序中使用H2DB。我想将.csv文件加载到表中。My.csv文件包含格式为07/16/2011 02:43:43的时间戳,但H2 DB的默认时间戳格式为2005-12-31 23:59:59 因此,当我使用CSVREAD将该.csv文件加载到数据库时,会出现以下异常: org.h2.jdbc.JdbcSQLException: Cannot parse "TIMESTAMP" constant "07/16/2011 02:43:43"; SQL statement: -- r

我在Java应用程序中使用H2DB。我想将.csv文件加载到表中。My.csv文件包含格式为
07/16/2011 02:43:43
的时间戳,但H2 DB的默认时间戳格式为
2005-12-31 23:59:59

因此,当我使用
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)
其中file.csv有一列标记为DOB

并在表中插入:

insert into YOURTABLE 
    (
     select convert(parseDateTime(DOB,'yyyy/MM/dd hh:mm:ss'), timestamp)
     from CSVREAD('file.csv')
    )
其中file.csv有一列标记为DOB

并在表中插入:

insert into YOURTABLE 
    (
     select convert(parseDateTime(DOB,'yyyy/MM/dd hh:mm:ss'), timestamp)
     from CSVREAD('file.csv')
    )

+1你想看看另一个与H2 DB有关的Q和另外一件事吗。。在
CSVWRITE
函数中,查询用单引号括起来。那么我如何编写where子句
start\u timestamp>'2011-09-01 00:00:00.00'
,因为它包含一个单引号。转义不起作用吗?比如开始时间戳2011-09-01 00:00:00.00 \’?双单引号工作
start\u timestamp>“2011-09-01 00:00:00.00”
+1您想看看另一个与H2 DB相关的Q和一件事吗。。在
CSVWRITE
函数中,查询用单引号括起来。那么我如何编写where子句
start\u timestamp>'2011-09-01 00:00:00.00'
,因为它包含一个单引号。转义不起作用吗?比如开始时间戳2011-09-01 00:00:00.00 \'?双单引号有效
start\u时间戳>''2011-09-01 00:00:00.00'