Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用HSQLDB测试日期值_Java_Sql Server_Testing_Integration Testing_Hsqldb - Fatal编程技术网

Java 使用HSQLDB测试日期值

Java 使用HSQLDB测试日期值,java,sql-server,testing,integration-testing,hsqldb,Java,Sql Server,Testing,Integration Testing,Hsqldb,我们在生产中使用SQLServer,但在集成测试中使用HSQLDB。之所以使用HSQLDB,是因为它是内存中的数据库 我有一个执行以下代码的SQLServer SQL: select convert(varchar(8), pos_val_date, 112) from wscpos; 在HSQLDB中,这不起作用。代码应为: select to_char( pos_val_date, 'YYYYMMDD') from wscpos; 调整我的代码以使其在生产和集成测试中运行的最佳实践是什

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

我有一个执行以下代码的SQLServer 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 Server更好的兼容性,比HSQLDB现在提供给您的更好。

如果您倾向于为集成测试更改数据库,我建议采用H2,使用MODE=MSSQLServer,这将提供与MS SQL Server更好的兼容性,比HSQLDB现在给你的更好。

如果你真的想看看你的代码是否能工作,请在测试中使用SQLServer Express,不要更改代码。我想OP没有提到的是,他们需要内存中的解决方案。我不确定MS SQL是否能提供这些信息。正确,我修改了问题以包含这些信息。请使用SQLServer Express进行测试,不要更改代码,请使用相同的数据库进行生产和集成测试,如果你真的想看看你的代码是否有效,我想OP没有提到的是他们想要一个内存解决方案。我不确定MS SQL是否能提供这些信息。正确,我修改了问题以包含这些信息。非常有趣,这确实适用于我发布的简单示例,但我仍然存在一些不兼容之处,因为我的SQL比问题中显示的更复杂。。。但我将对此进行调查。非常有趣,这对我发布的简单示例有效,但我仍然存在一些不兼容之处,因为我的SQL比问题中显示的更复杂。。。但我会调查的。