我有一个包含多个集成测试的项目。为了提高这些测试的速度,我决定在运行时使用H2数据库。但我仍然希望我的applciation与DB2一起运行。
我指定H2以DB2模式运行:
url: "jdbc:h2:mem:TEST;\
MODE=DB2;\
DB_CLOSE_DELAY=-1;\
DB_CLOSE_ON_EXIT=FALSE;\
INIT=CREATE SCHEMA IF NOT EXISTS SYSIBM\\;\
CREATE TABLE IF NOT EXISTS SYSIBM.SYSDUMMY1()"
执行此请求时,我的一项测试不起作用:
update batch set running=current timestamp where id=? and (running is null or running < current timestamp + 1 minute)
我有以下错误消息:
ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Syntax error in SQL statement "UPDATE BATCH SET RUNNING=CURRENT TIMESTAMP WHERE ID=? AND (RUNNING IS NULL OR RUNNING < CURRENT TIMESTAMP + 1 MINUTE[*]) "; expected "[, ::, *, /, %, +, -, ||, ~, !~, NOT, LIKE, REGEXP, IS, IN, BETWEEN, AND, OR, ,, )";
似乎MINUTE无法识别。谁能帮我 ?
答案 0 :(得分:1)
您是否尝试过使用TIMESTAMPDIFF()
来比较running
和CURRENT_TIMESTAMP
?该函数似乎得到H2以及DB2的支持。