STR_TO_DATE('24-9-2000','%d-%m-%y');
%y是取两位数的年份
正确的结果不应该是‘’00-09-24‘’吗?
为什么结果是2020呢,求解答~
STR_TO_DATE('24-9-2000','%d-%m-%y');
%y是取两位数的年份
正确的结果不应该是‘’00-09-24‘’吗?
为什么结果是2020呢,求解答~
通过观察可以看出:转换为时间格式时,由于%y是取2位年份,但实际年份是4位,所以mysql底层会默认匹配最近的世纪,最终得到一个比较合理的时间。
得到的时间只是一个合理的时间,是不推荐这么使用的。所以一般用%Y来格式化年份。
select STR_TO_DATE('24-9-2000','%d-%m-%y'),STR_TO_DATE('24-9-6900','%d-%m-%y'),STR_TO_DATE('24-9-7000','%d-%m-%y');
如有帮助,望点击我回答右上角【采纳】按钮支持一下。