Java 具有 SQL 服务器支持的内存数据库

Java In-memory database with SQL Server support

哪些可用的内存数据库最支持 SQL 服务器特定功能?

我一直在尝试使用 H2,但是遇到了一些问题,例如转义列名:在我们所有的 sql 查询中,我们使用(非标准)[FIELDNAME] 而不是 "FIELDNAME". H2 显然不支持这一点。可能还会使用其他非标准功能,所以我想知道是否有人知道以与 SQL 服务器兼容为目标的特定数据库。

为了说明这一点,我使用 maven 和 maven-sql-plugin 在 运行 测试之前创建数据库。

我一直在看

但无法确定哪一个对 SQL 服务器的支持最好,或者是否还有其他可以查看。

我实际上发现H2 有不同的兼容模式,可以在连接字符串中设置。例如:

jdbc:h2:~/test;MODE=MSSQLServer

这似乎解决了我关于转义列名的具体问题。

为了将来参考,可以查看 documentation on compatibility modes 以了解哪些数据库支持哪些功能。

但是 SQL 服务器函数,如 SYSDATETIME() 支持。