如何像 sql server 一样在 h2 中使用 getDate()
Posted
技术标签:
【中文标题】如何像 sql server 一样在 h2 中使用 getDate()【英文标题】:How to use getDate() in h2 as like sql server 【发布时间】:2019-05-15 06:23:47 【问题描述】:我正在通过 Junit 测试用例测试已经开发的应用程序,在生产中使用 SQL 服务器,但在执行测试用例时我们使用嵌入式 h2 数据库。
并且某些 SQL 服务器规范在 h2 中不起作用(例如:conditional queries
、getDate()
、DATEPART
、.......)任何人都可以帮助我如何进一步解决此类问题我的 JUnit 测试 与 h2 DB
SQL SERVER: select * from getDate() -: 2006-12-30 00:38:54.840
h2 DB : select * from getDate() -: 2006-12-30
在执行脚本在 h2 数据库中执行的测试用例并作为逻辑的一部分时,我将 getdate()
中的值解析为 2006-12-30 00:38:54.840
的 SimpleDate 格式,我得到 2006-12-30
的解析异常无法解析。
提前致谢
【问题讨论】:
【参考方案1】:要在 H2 中使用 getDate,只需在使用带有 getDate() 的查询之前运行以下查询
drop alias if exists getDate;
create alias getDate as '
java.util.Date getDate()
return new java.util.Date();
';
【讨论】:
【参考方案2】:您可以使用 H2 数据库中内置的用户定义函数和存储过程。
【讨论】:
以上是关于如何像 sql server 一样在 h2 中使用 getDate()的主要内容,如果未能解决你的问题,请参考以下文章
如何像调度程序一样将大数据从 MongoDB 导入 SQL Server
我们如何使用 H2 测试涉及日期到字符串转换的 SQL Server 代码?
请问在SQLserver 中如何指定一个数据库类型的变量?就是说里面引用的表前的数据库前缀可以像变量一样改变
Presto SQL 是不是像 SQL Server 一样支持使用 CTE 进行递归查询?例如员工等级