2

我不是程序员,只是一个学习者。我正在测试一些东西。我有一个名为 test1 的表,其中包含三列 id 、 date 、 status 。

我想更改10 天前id 的状态,状态为通过或失败或无好。

4

2 回答 2

2

由于您没有指定 RDBMS,我将为 MySQL 和 SQL Server 提供答案。您没有提供有关您的请求的许多详细信息,但您可以在 MySQL 中执行以下操作:

UPDATE test1
SET status = 'good'
where date < DATE_ADD(now(), interval -10 day)
  AND status IN ('pass', 'fail', 'none');

这是一个带有工作示例的sql fiddle 。

在 SQL Server 中,您的查询将是:

UPDATE test1
SET status = 'good'
where date < DateAdd(day, -10, getdate())
  AND status IN ('pass', 'fail', 'none');

这是该示例的sql fiddle

于 2012-05-09T18:49:04.707 回答
0

你的要求很模糊。

这只是查看通过记录,并在其日期超过 10 天时将它们设置为失败。

update test1
set status = 'fail'
where status = 'pass'
and date < dateadd(d,-10, getdate())
于 2012-05-09T18:01:22.100 回答