如何像SQL Server一样在H2中使用getDate()

时间:2019-05-15 06:23:48

标签: h2 getdate

我正在通过Junit测试用例测试已经开发的应用程序,在生产中使用 SQL服务器,但是在执行测试用例时,我们使用了嵌入式 h2数据库。 而且某些SQL Server规范在h2中不起作用(例如:db.execSQL("DELETE FROM mca WHERE position='" + position + "'"); db.execSQL("DELETE FROM mca WHERE _id='" + id + "'"); db.execSQL("DELETE FROM mca WHERE member='" + member + "'"); conditional queriesgetDate(),..........)有人可以帮助我如何我在使用H2 DB的 JUnit测试中进一步解决了此类问题

DATEPART

在执行脚本在h2数据库中执行并且作为逻辑一部分的测试用例时,我将SQL SERVER: select * from getDate() -: 2006-12-30 00:38:54.840 h2 DB : select * from getDate() -: 2006-12-30 的值解析为getdate()的SimpleDate格式,并且解析异常2006-12-30 00:38:54.840无法解析。

预先感谢

2 个答案:

答案 0 :(得分:0)

您可以使用H2数据库中内置的用户定义函数和存储过程。

答案 1 :(得分:0)

要在 H2 中使用 getDate,只需在使用 getDate() 查询之前运行以下查询

drop alias if exists getDate;

create alias getDate as '
    java.util.Date getDate() {
        return new java.util.Date();
    }
    ';