插入新表时计算年龄

时间:2016-06-04 16:05:31

标签: mysql sql

我有一张销售人员表,我正在尝试根据这些数据创建第二个表来建立高级销售团队。在第一个表中,我们存储了他们的生日,但我想将他们当前的年龄存储在新表中。

这是我的销售员架构

CREATE TABLE Salesperson
(
SalespersonId BIGINT,
Name VARCHAR(50),
BirthDate DATE,
Salary INT
);

我要做的就是将他们的名字和年龄添加到新表中

INSERT INTO SeniorSales (Name, Age)
SELECT Name, FLOOR(DATEDIFF(DAY, @BirthDate, @TargetDate) / 365.25) 
FROM Salesperson 
WHERE Salary > 100,000;

我收到一条错误消息,说我“调用本机函数'DATEDIFF'时参数计数不正确”我会承认我对mySQL比较新,我从谷歌搜索中获取了年龄计算功能。

1 个答案:

答案 0 :(得分:0)

DATEDIFF sintax只使用两种日期DATEDIFF(date1,date2)

在你的情况下你应该使用

 INSERT INTO SeniorSales (Name, Age)
 SELECT Name, FLOOR(DATEDIFF(@TargetDate, @BirthDate) / 365.25) 
 FROM Salesperson 
 WHERE Salary > 100,000;