我正在尝试使用Spring Boot提供的内存中的h2测试mybatis映射器+ spring boot。 以下查询在作为我们的生产数据库的MsSQL中可以正常工作,但在用于集成测试的H2中则无法使用。
SELECT id FROM tableName ORDER BY id asc OFFSET CAST( 20000000000 AS BIGINT) ROWS FETCH NEXT 10000 ROWS ONLY;
我得到的错误是“数值超出范围:列中的“ 20000000000”; SQL语句:“
但是当我跑步
SELECT CAST( 20000000000 AS BIGINT);
工作正常。因此,这意味着CAST很好,在将Offset与H2一起使用时是否存在一些限制?
或者我在这里完全缺少一些东西。
侧注:我正在尝试使我的集成测试与“内存中”数据库进行通信,以使其在我们的jenkins CI管道中运行时更快并且全部封装在一起。 这是使用H2的已知限制吗?也许这会让我回到使用数据库服务器。
寻找有关为什么查询失败的大量建议仍然存在的建议。