问题:mysql 查询一段日期的数据时(使用between and),如果输入非法日期,如2022-04-31(4月没有31号),会产生什么结果?
1、当mysql存储的日期类型为date,当MySQL遇到日期类型的值超出范围或对该类型无效时,它将该值转换为该类型的“零”值(0000-00-00)。唯一的例外是超出范围的TIME
值会被裁剪到该TIME
范围的适当端点。–不显示结果
2、当mysql存储的日期类型为[datetime,可以正常查询数据 --正常结果
https://www.lanmper.cn/mysql/c292.html
文档说明
mark:
该网址说如果是date型或者datetime型,都会转换为零值,结果测试与我上面结论有差异,以实际测试为准,尽信书不如无书