在PolarDB 8.0.2版本中,一个datetime类型的字段,如果与''这样的空字符串比较会导致查询报错: Incorrect DATETIME value: '',但在8.0.1版本中则可以正常执行,这是一个预期的行为,原因是社区MySQL在8.0.16版本中引入了这一行为,不允许datetime字段与空字符串的比较,PolarDB 8.0.1基于社区8.0.13版本而8.0.2则基于社区8.0.18版本,因此导致了同样的报错行为
建议修改SQL语句,将空字符串修改为 STR_TO_DATE('','%m-%d-%Y %H:%i:%s'),可以正常执行查询,此时STR_TO_DATE的函数结果将空字符串转为 NULL (sql_mode包含NO_ZERO_DATE)或 0000-00-00 00:00:00 (sql_mode不包含NO_ZERO_DATE)