gpt4 book ai didi

mysql - 如何使用 str_to_date (MySQL) 正确解析两位数年份

转载 作者:行者123 更新时间:2023-11-30 21:55:17 24 4
gpt4 key购买 nike

我正在使用 MySQL,我需要导入一个包含上个世纪的 DOB 的表。所以此人出生于 1965 年,但字符串中使用了两位数的年份格式。知道如何做对吗?

mysql> select str_to_date('09-JAN-65', '%d-%b-%y');
+--------------------------------------+
| str_to_date('09-JAN-65', '%d-%b-%y') |
+--------------------------------------+
| 2065-01-09 |
+--------------------------------------+
1 row in set (0.01 sec)

最佳答案

您不能将 str_to_date() 与 1965 年一起使用,因为 1970 年 1 月的第一天是所谓的 Unix epoch ,当我们开始使用 UNIX time 时.

相反,使用 DATE_FORMAT来自一个时代:

SELECT DATE_FORMAT(DATE_ADD(FROM_UNIXTIME(0), interval [timestamp] second), '%Y-%m-%d');

在您的示例中,这将是:

SELECT DATE_FORMAT(DATE_ADD(FROM_UNIXTIME(0), interval -157075200 second), '%Y-%m-%d');

这可以在 SQLFiddle here 上看到.

可以找到有关纪元的更多信息 here , 并且可以找到纪元转换器 here .

希望对您有所帮助! :)

关于mysql - 如何使用 str_to_date (MySQL) 正确解析两位数年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45474147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com