在h2数据库oracle模式下插入无法正常工作

问题描述 投票:0回答:1

我正在运行组件测试并将数据以Oracle模式写入内存中的h2数据库。问题是,在下面进行插入以将数据加载到数据库中时,它不起作用。在银行中搜索数据时,它将显示当前日期,就好像它只是一个sysdate。

INSERT INTO AVAILABLE_EMAILS (ID, EMAIL, TYPE, DAT_CREATION) VALUES (1, '[email protected]', 0, SYSDATE - (30/1440));

INSERT INTO AVAILABLE_EMAILS (ID, EMAIL, TYPE, DAT_CREATION) VALUES (2, '[email protected]', 0, SYSDATE - (20/1440));

有人可以帮我吗?

spring-boot h2 spring-test
1个回答
0
投票

如果同时使用两个数据库,则应避免使用特定于供应商的语法。

您可以使用符合SQL标准的语言

LOCALTIMESTAMP - INTERVAL '30' MINUTE

在Oracle和H2的最新版本中。

H2还支持某些特定于Oracle的旧式日期时间算术运算符,但H2中的整数除法结果是整数值30/1440=0。您可以改用30.0/1440(在两个数据库中),但是最好完全避免这种计算,因为标准语法更具可读性。

© www.soinside.com 2019 - 2024. All rights reserved.