我有一个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数据库设置默认语言(由于操作系统上的区域设置,它可能使用德国作为默认语言)?
答案 0 :(得分:1)
可以通过更改日历/日期掩码来解决,如下所示:
insert into example (id, created) values (2, to_date('01-01-18', 'DD-MM-RR'));
答案 1 :(得分:0)
问题是,Spring Boot根据操作系统中的语言环境设置选择数据格式。
我遇到了同样的错误,并且更改了Windows计算机中的区域,然后一切正常。 在Windows中,转到“控制面板”>“时钟和区域”>“更改日期时间或数字格式”,然后将格式更改为“美国英语”(或您想要的任何格式)。