开发者社区> 问答> 正文

PolarDB datetime类型空字符串比较报错

已解决

PolarDB datetime类型空字符串比较报错

展开
收起
提个问题 2024-06-15 12:09:52 11 0
1 条回答
写回答
取消 提交回答
  • 开发者社区问答官方账号
    官方回答
    采纳回答
    在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)
    2024-06-15 12:09:53
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
2023云栖大会:PolarDB for AI 立即下载