MYSQL 数据库DATETIME 类型的数据可以用BETWEEN (20190202) AND (20190402) 但 date 类型的数据不行?

MYSQL 数据库DATETIME 类型的数据可以用BETWEEN (20190202) AND (20190402) 不用转换字符类型。 但 date 类型的数据却不不能直接用BETWEEN,需要想将DATE 类型转换成字符串类型 ,或者后面日期要转换成日期格式 ,如 to_date (。。。。)。这是为什么????
最新回答
枫林渡口初相遇

2025-06-22 00:06:24

你说的是时间的格式隐性转换问题吧? 比如(20190202)和'2019-02-02' 这个写法问题吧

不太建议用隐性格式转换 datetime 和date都是你存啥就是啥
其实也不是需要转换为字符串类型 只是它的格式必须是匹配而已
to_date 类似函数其实不太建议用 可能会导致索引失效
用操作函数时你可以看下查询的耗时

参考百度搜索:
58mysql军规 --简书
写一首好SQL很有必要 --博客园
MySQL 中 datetime 和 timestamp 的区别与选择