在同一语句中使用datediff函数和avg函数

时间:2016-07-24 22:34:29

标签: sql sql-server tsql

我对任何语言都很陌生。在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';

再次,我是新手,并研究和回答并获得理解。我需要帮助。

1 个答案:

答案 0 :(得分:0)

您的SQL查询存在一些问题。

  1. MySQL DATEDIFF没有 interval 参数,即day。它只需要两个日期时间参数。在研究期间,您必须遇到SQL Server文档。
  2. 使用TIMESTAMPDIFF代替(需要间隔),如TIMESTAMPDIFF(year, dob, CURDATE()) AS currentage,这样可以获得当前的年龄。
  3. 未指定FROM子句和表格,那么您从哪里获取firstname, lastname, dob, occupationIdgender
  4. 您不需要子选择查询来计算年龄。
  5. 为您修改了查询(您需要指定您从中获取数据的表名):

    SELECT firstname, lastname, dob, TIMESTAMPDIFF(year, dob, CURDATE()) AS currentage 
    FROM tableName 
    WHERE occupationId = 164 and gender = 'M';
    

    `