date差异在mysql中产生错误的输出

mjqavswn  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(260)

我有一个名为employee的表(见图):
表格示例
我试图通过使用以下代码从他们的出生日期中减去当前日期来获得他们的实际年龄:

select datediff(CURDATE(), str_to_date(employee.dob,'%m/%d/%Y')) as age
FROM employee;

输出如下:

18357
273

我的预期输出应该是:

29 
20

注意:dob作为字符串存储在表中。

sxissh06

sxissh061#

试着这样计算年龄:

SELECT DATE_FORMAT(FROM_DAYS(DATEDIFF(NOW(), str_to_date(dob,'%m/%d/%Y'))), "%Y")+0 AS age 
FROM employee;

演示

相关问题