我正在尝试编写一个函数来表示员工(代理人)6个月的审核时间,使用日期算术,在他们的雇佣日期加上6个月,我似乎无法做到正确
SELECT EmpFirstName, EmpLastName,
CAST(DateHired, + 6 MONTH) AS ReviewDate
From Employees
答案 0 :(得分:0)
SELECT EmpFirstName, EmpLastName,DATEADD(month, 6, DateHired) DateHired From Employees
答案 1 :(得分:0)
尝试此查询
SELECT EmpFirstName
,EmpLastName
,DateHired
SET Datehired = DATE_ADD(DateHired, INTERVAL + 6 MONTH)
FROM Employees
答案 2 :(得分:0)
使用SET,您可以改变值(更改值),但您真正需要的是要检查的条件。那个SQL关键字是WHERE。
SELECT .... WHERE your conditon FROM ....
答案 3 :(得分:0)
您可以使用DATEADD()
SELECT EmpFirstName, EmpLastName, DateHired, DATEADD(month, 6, DateHired) AS Review_Date
From Employees
更新DateHired
列的想法并不是那么好。因为如果您在两个不同的时间运行查询,例如当某些新员工加入时,它将影响所有员工的记录。
在表格中为ReviewDate
添加新列,或使用上面的查询来查找ReviewDate
答案 4 :(得分:0)
如果您想要列出当月应该为期6个月的所有员工,请尝试以下方法:
SELECT
EmpFirstName,
EmpLastName,
DateHired
FROM Employees
WHERE
DATEADD(month, DATEDIFF(month, 0, DateHired), 0) =
DATEADD(month, DATEDIFF(month, 0, DATEADD(month, -6, GETDATE())), 0)