我有一个销售人员表,我正在尝试根据该数据创建第二个表以建立高级销售团队。在第一个表中,我们存储了他们的生日,但我只想将他们当前的年龄存储在新表中。
这是我的销售人员架构
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;
我收到一个错误,说我“调用 native 函数‘DATEDIFF’时参数计数不正确”我承认我对 mySQL 比较陌生,并且我从谷歌搜索中删除了年龄计算函数。
最佳答案
DATEDIFF 语法仅使用两个日期 DATEDIFF(date1,date2)
根据您的情况,您应该使用
INSERT INTO SeniorSales (Name, Age)
SELECT Name, FLOOR(DATEDIFF(@TargetDate, @BirthDate) / 365.25)
FROM Salesperson
WHERE Salary > 100,000;
关于mysql - 插入新表时计算年龄,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37632329/