我检查两个表之间的处理差异,使用形成这样的查询:比较领域的文章SQLite中而不是在DB2
SELECT a.*, (a.address <> b.address) AS discrepancy
FROM table1 AS a
LEFT JOIN table2 AS b
ON a.uniqueIdentifier = b.uniqueIdentifier
什么我期待的是,如果一个。地址不完全匹配b.address,它会评估为true;因此该字段“差异”将返回true或“1”。
(注意,在LEFT JOIN被使用,因为可能没有表2中有匹配的行,但我需要捕获从表1的数据,无论是因为我遍历列表并显示,如果地址有问题)
该查询在我的SQLite单元测试中工作,但随后使用ODBC在使用DB2数据库的开发中失败。
返回的错误代码是[Code: -104, SQL State: 42601] [SQL0104] Token A was not valid. Valid tokens: (.
如果这根本就不是在DB2支持,我打开备用的想法如何制定查询。
注意:进一步测试表明
select a.id, (1+1) as two from table1 as a
作品,同时
select a.id, (1=1) as two from table1 as a
=>Token 1 was not valid
你实际上不需要括号。没有它们,它会起作用吗? –