MYSQL8.0不支持0000-00-00的问题

小白使用工具利用mysql创建了一些简单的查询函数,然后在WEB端调用。之前使用mysql5.6版本,正常。但是升级到mysql8.0.23后,出了一点问题。

主要是日期参数,在查询时,直接点查询,是按最大日期进行,但是8.0不支持0000-00-00格式的日期,代码如下:

set @tjrq = case when tjrq = '0000-00-00' then (SELECT max(`统计日期`) FROM machining.`22_生成报表`) else tjrq end ;

此种情况下,应该怎么解决呢。

 

 

应该是sql_mode设置NO_ZERO_IN_DATE,NO_ZERO_DATE禁用了这种日期格式、修改sql_mode或者不使用0000-00-00这种日期