我对任何语言都很陌生。在sql中,我试图使用datediff函数来查找平均数据来计算年龄。我知道年龄,但我根本不知道如何撰写声明。
当我运行此声明时,我得到了我正在寻找的信息。但是,我还需要使用datediff函数来计算DOB的年龄。这是我迷路的地方。这就是我所拥有的,当我运行它时会出现错误。
select firstname,lastname, dob
SELECT DATEDIFF(day,'1970-01-01','1978-05-27') AS DiffDate
where occupationId = 164 and gender = 'M';
再次,我是新手,并研究和回答并获得理解。我需要帮助。
答案 0 :(得分:0)
您的SQL查询存在一些问题。
DATEDIFF
没有 interval 参数,即day
。它只需要两个日期时间参数。在研究期间,您必须遇到SQL Server文档。TIMESTAMPDIFF
代替(需要间隔),如TIMESTAMPDIFF(year, dob, CURDATE()) AS currentage
,这样可以获得当前的年龄。FROM
子句和表格,那么您从哪里获取firstname, lastname, dob, occupationId
和gender
?为您修改了查询(您需要指定您从中获取数据的表名):
SELECT firstname, lastname, dob, TIMESTAMPDIFF(year, dob, CURDATE()) AS currentage
FROM tableName
WHERE occupationId = 164 and gender = 'M';
`