如何在java中的内存测试中将db2日期格式转换为H2日期格式

时间:2016-08-19 15:21:35

标签: java junit db2 h2 in-memory-database

我正在尝试将DB2数据库Date字段格式转换为内存数据库日期格式的H2,如下所示。它对我不起作用。 请帮忙。

select CREATE_DATE from PX.MY_DB2TABLE ;

这里数据库表中的DB2 DATE格式是'MM / DD / YYYY'。 CREATE_DATE是db2中的DATE数据类型。

H2数据库仅接受'yyyy-MM-dd'格式。

在H2中尝试以下方式:

  select PARSEDATETIME(CREATE_DATE,'MM/dd/yyyy') FROM PX.MY_DB2TABLE;
    select PARSEDATETIME(CREATE_DATE,'yyyy-MM-dd') FROM PX.MY_DB2TABLE;

错误: 无法解析DATE常量

1 个答案:

答案 0 :(得分:0)

要从DATE数据类型值获取格式为' YYYY-MM-DD'的字符串表示,原始查询[从OP]中选择的DATE字段可以包含在一个CHAR转换标量,附加参数请求日期时间到字符的特定日期格式;没有提到DB2的哪个变体,但这里有一些文档:DB2 for Linux UNIX and Windows 9.7.0->Database fundamentals->SQL->Functions->Scalar functions->CHAR

select CHAR(CREATE_DATE, ISO) from PX.MY_DB2TABLE ;

对于第二个参数,请参阅日期字符串 表1.日期中字符串表示形式的格式 [想象LOCAL作为有效参数,代替看到的LOC在]中: DB2 for Linux UNIX and Windows 9.7.0->Database fundamentals->SQL->Language elements->Data types->Data type list->Datetime values