日期差异在 mysql 中产生错误输出
date difference produces wrong output in mysql
我有一个叫 table 的员工(见图):
Example of table
我试图通过使用以下代码从他们的出生日期中减去当前日期来获得他们的实际年龄:
select datediff(CURDATE(), str_to_date(employee.dob,'%m/%d/%Y')) as age
FROM employee;
输出结果如下:
18357
273
我的预期输出应该是:
29
20
请注意:dob 在 table 中存储为字符串。
像这样尝试获取年龄:
SELECT DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), str_to_date(dob,'%m/%d/%Y'))), "%Y")+0 AS age
FROM employee;
我有一个叫 table 的员工(见图):
Example of table
我试图通过使用以下代码从他们的出生日期中减去当前日期来获得他们的实际年龄:
select datediff(CURDATE(), str_to_date(employee.dob,'%m/%d/%Y')) as age
FROM employee;
输出结果如下:
18357
273
我的预期输出应该是:
29
20
请注意:dob 在 table 中存储为字符串。
像这样尝试获取年龄:
SELECT DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), str_to_date(dob,'%m/%d/%Y'))), "%Y")+0 AS age
FROM employee;