如何编写这个SQL查询?

时间:2012-05-09 17:56:54

标签: php sql

我不是程序员,只是学习者。我正在测试一些东西。 我有一个表test1,它有三列id,date,status。

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

2 个答案:

答案 0 :(得分: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的例子。

答案 1 :(得分:0)

您的要求含糊不清。

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

update test1
set status = 'fail'
where status = 'pass'
and date < dateadd(d,-10, getdate())