【发布时间】:2021-10-21 21:01:57
【问题描述】:
这里考虑到以下 db2 查询的两部分问题:
select col1!!col2 from table1
- 我从未见过双感叹号 (
!!) 运算符。从它返回的结果来看,它似乎正在对 col1 和 col2 进行简单的串联。我在 db2 文档中在线查看过,但无法找到定义。有人可以验证吗? - 我不允许更改查询以使用不同的语法,我希望能够使用内存数据库中的 h2 对该查询和其他具有一些 db2 怪癖的查询运行单元测试。如何使用 junit4 实现这一目标?
【问题讨论】:
-
再看原始代码,双
||(管道符号)是连接运算符,对于Db2不是感叹号。 -
@mao 不,这是双感叹号,不是双管。我已经针对实际的 db2 数据库测试了查询,它可以工作。
-
什么是 Db2-server 平台(z/os、i-series、linux/unix/windows/cloud)?以及您使用什么工具来提交 SQL?
-
在 IBM i 上可能会发生
!!运算符替换||的一些 CCSID(例如 290 日本片假名),也可能是 z/os(不知道在您的情况下该怎么做) -
@geco17 我认为 H2 的规模很大。但是,您实际上只能在一定程度上模拟 DB2、Oracle 或 PostgreSQL。在我的开发沙箱中,我目前有几个带有 DB2 的虚拟机,并且我在本地运行 DB2 docker 映像。这是以与在 PROD 中运行相同的方式实际运行查询的唯一方法;它们的运行速度比 PROD 慢,但我得到了完整的语法验证。
标签: junit db2 h2 spring-boot-test