首先在两个数据库分别执行报错的查询语句,结果在mysql中得到了结果,而db2报错sqlcode=-420。 这就是一个很有意思的问题,可以猜测是两个数据对于空值的类型转换有不一样的定义。改用下面的查询语句: select*fromtabletestwherecreateDate<'2018-11-17'andcreateStatus=0 db2依然报错-420,而在mysql中查出了三条数据。