2016-02-20 36 views
0

我要当一个特定时间发生在SQL Server如何在SQL Server的特定时间更新行值?

customerId isBlock  time 
------------------------------- 
1   false   12:00 

当时间12:00发生的,动态的将isBlock值更改为true

+0

“时间”是当前时间(即每天中午12:00,更改列的值)或表格中的一列(当值为12:00 PM时,“isBlock”必须被设置为true)? – yaakov

+0

每天当它通过12:00 PM,改变值为真 –

+1

你可能想要某种预定的工作然后 - 看到[这个问题](http://stackoverflow.com/questions/5471080/how-to-schedule-如何将它作为一个SQL作业来执行,每天进行一次sql-query-to-run-a-job-for-sql-query-to-run-daily)。 – yaakov

回答

2

可能做到这一点最简单的方法来改变行的值是使用计算列(或视图)。所以:

alter table t 
    add column isBlock (case when getdate() > time then 'true' else 'false' end); 

注意:不需要为这个逻辑

  • 原始列。
  • 我假设“时间”实际上是某种日期/时间值,所以与getdate()的比较是适当的。
相关问题