2016-02-20 75 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()的比較是適當的。
相關問題