本文介绍了在MySQL中计算年龄时出错?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用下面的SQL语句计算年龄

I am trying to calculate age with the SQL statement below

round(datediff(now() - dateofbirth / 365))

出现以下错误,

推荐答案

问题: datediff需要两个像DATEDIFF(expr1,expr2)这样的参数,根据给定的问题,只有一个参数,因此出错

Problem : datediff expects two parameters like DATEDIFF(expr1,expr2) , as per the given question, there is only one parameter hence error.

解决方案:,您必须使用

round(datediff(now() , (dateofbirth / 365)))
                     ^

datediff返回expression1 – expression2,因此您不必自己执行:)还要确保参数是日期或日期和时间表达式

the datediff returns expression1 – expression2, so you dont have to do it by yourself :) also make sure the parameters are date or date-and-time expressions

@Jonathan Leffler指出的另一个错误是在调用DATEDIFF之后需要除法.

EDIT : Another error pointed out by @Jonathan Leffler,division is needed after the call to DATEDIFF.

round(datediff(now(),dateofbirth)/365)

这篇关于在MySQL中计算年龄时出错?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-01 17:20