有谁知道为什么以下查询在 Derby 中失败?
delete from MyTable
where
((null = null) or (col1 = null)) OR
((102 = null) or (col2 = 102)))
我收到以下错误:
Error: Syntax error: Encountered "null" at line 3, column 3.
SQLState: 42X01
ErrorCode: -1
sql 是在基于我写入 iBatis ORM 层配置的 SQL 的 java 程序中生成的。准备好的语句如下:
delete from MyTable
where
((? = null) or (col1 = ?)) OR
((? = null) or (col2 = ?)))
如您所见,我想说的是,如果参数不为空,则根据参数测试列值