使用 HSQLDB 测试日期值

Testing date values with HSQLDB

我们在生产中使用 SQLServer,但 HSQLDB 用于我们的集成测试。使用 HSQLDB 是因为它是内存数据库。

我有一个 SQL 服务器 SQL 执行以下代码:

select convert(varchar(8), pos_val_date, 112) 
from wscpos;

在 HSQLDB 中,这不起作用。代码应该是:

select to_char( pos_val_date, 'YYYYMMDD')
from wscpos;

调整我的代码以使其在生产和集成测试中运行的最佳实践是什么?

如果您倾向于更改数据库以进行集成测试,我建议采用 H2 使用 MODE=MSSQLServer,这应该提供更好的兼容性MS SQL 服务器,比 HSQLDB 现在给你的更好。