Spring Boot测试H2 data.sql错误的语言环境日期格式

时间:2018-06-26 10:51:31

标签: date spring-boot testing locale h2

我有一个spring boot应用程序,其文件data.sql包含以下DML命令:

  

插入示例(创建的ID)值(1,to_date('01 -JAN-18',   'DD-MON-RR'));

     

插入示例(创建的ID)值(2,to_date('01 -JAN-18','DD-MON-RR'));

在加载spring上下文后,由于以下错误,spring boot测试将失败:

  

函数“ TO_DATE”:无效的日期格式:“试图解析以下内容之一   '[dÚc。,juin,mai,fÚvr。,火星,aott,十一月,janv。,avr。,六月,   十月]”,但失败了

此问题是在我升级spring-boot之后引起的,但以前在2.0版中可以正常工作,即。在h2中使用默认语言环境日期作为英语(01-JAN-18),而不是德国。

可能是根本问题所在,还是有任何建议为h2数据库设置默认语言(由于操作系统上的区域设置,它可能使用德国作为默认语言)?

2 个答案:

答案 0 :(得分:1)

可以通过更改日历/日期掩码来解决,如下所示:

insert into example (id, created) values (2, to_date('01-01-18', 'DD-MM-RR'));

答案 1 :(得分:0)

问题是,Spring Boot根据操作系统中的语言环境设置选择数据格式。

我遇到了同样的错误,并且更改了Windows计算机中的区域,然后一切正常。 在Windows中,转到“控制面板”>“时钟和区域”>“更改日期时间或数字格式”,然后将格式更改为“美国英语”(或您想要的任何格式)。