用于更新datetime列超过一年的指定列的SQL

时间:2015-12-10 00:29:25

标签: sql sql-server sql-server-2012 sql-update updates

我正在使用Microsoft SQL Server 2012编写一个简单的数据库来跟踪工作,客户,工作人员等。

我正在努力撰写一份更新声明,以增加该公司雇用一年以上的所有工人的小时工资(2美元)。

这就是$(".menu-item") .hide() .css('opacity', 0) .slideDown('slow') .animate( { opacity: 1 }, { queue: false, duration: 'slow' } ); 表的样子:

Workers

这是我开始的CREATE TABLE TWorkers ( intWorkerID INTEGER NOT NULL ,strFirstName VARCHAR(50) NOT NULL ,strLastName VARCHAR(50) NOT NULL ,dtmHireDate DATETIME NOT NULL ,monHourlyRate MONEY NOT NULL ,CONSTRAINT TWorkers_PK PRIMARY KEY (intWorkerID) ) 声明:

Update

我知道SELECT * FROM TWorkers UPDATE TWorkers SET monHourlyRate = monHourlyRate + 2 WHERE dtmHireDate = dtmHireDate > 12/1/2014 SELECT * FROM TWorkers 子句不正确。关于如何做到这一点的任何想法?

谢谢!

2 个答案:

答案 0 :(得分:0)

您的WHERE条款应为:

WHERE dtmHireDate > DATEADD(YEAR, -1, CAST(GETDATE() AS DATE))

您的UPDATE查询将是:

UPDATE TWorkers
    SET monHourlyRate = monHourlyRate + 2
WHERE
    dtmHireDate  > DATEADD(YEAR, -1, CAST(GETDATE() AS DATE))

答案 1 :(得分:0)

Update: After some searching and experimenting, I fixed it.

The winning query was:

UPDATE TWorkers
SET
monHourlyRate = monHourlyRate + 2
WHERE
dtmHireDate > '2014-12-01'