我在我的一个数据库中对生日进行了字符串日期计算。年是2位数格式,因此显然这是我的代码:

STR_TO_DATE(dob,'%m/%d/%y')


但是,这是根据许多记录计算的不正确世纪。 IE:出生年份应该是1960,而应该是2060。

这是基于某种日期格式的SQL标准还是我可以手动指定世纪截止时间?还是其他建议?

编辑:
出生日期的示例是“ 09/23/62”。

返回格式为“ 2062-09-23”的返回值

最佳答案

根据MySQL docs


00-69范围内的年份值转换为2000-2069。
70-99范围内的年份值转换为1970-1999。


没有对与错:因为您没有提供一个世纪,所以MySQL必须猜测。如果猜测不是您想要的,则必须提供自己的世纪。可能的解决方案取决于您的数据库架构。

10-05 19:58