2013-12-10 82 views
2

我有一個表(名爲'settings')包含1列(名爲'days'(int))。我試圖弄清楚如何將天的價值每24小時自動降低一次。SQL:列值每天自動減少?

例如:

At 10/12/2013 the value will be 20, 
at 11/12/2013 the value will be 19, 
at 12/12/2013 the value will be 18... 

任何尖端高度讚賞!

+4

爲什麼你需要存儲這個,而不是在運行時計算?當達到'0'時會發生什麼? –

+0

數據庫連接到VB.NET應用程序。當達到0時,應用程序執行一個動作。 – suchanoob

回答

2

如果與SQL Server相關 - 它沒有指定 - 你需要安排一個日常任務,或者在你的操作系統中使用Sql Server Agent或Scheduled Task。

1
SELECT 
    CAST('30/12/2013' as date) - GETDATE() as [Days Remaining] 
FROM 
    Whatever_Table_You_Want 

這可能是一個很好的「視圖」或「功能」或「存儲過程」 - 但不知道爲什麼你要來德值存儲在一個表中,有上沒有相關性的「設置'(或任何其他)這種輸出表。

如果您確實需要將值存儲在表中,那麼您需要在服務器級創建一個job,以便在「設置」表上運行INSERT。