2011-06-22 16 views
0

私は列があるテーブルがあるとします:承認、Joining_Date、期間。SQL更新クエリ

Approve-String、Joining_Date-DateTime、Period-Integer。 今日の日付とJoining_Date列の差がPeriod列より大きい場合、Approved列値をyesに更新したいとします。どのようにこれを単一のクエリで達成できますか?何かのように:

"UPDATE table_name SET Approved='Yes' WHERE (SYSDATE-Joining_Date>Period)" 

私は2010年のおかげで、事前にVSでのASP.NET 4とMS-SQL 2008のExpressを使用しています!

+0

期間は日数です。 – Jayesh

答えて

1

と仮定Periodは日中です:

UPDATE table_name SET Approved='Yes' 
WHERE DATEDIFF(DAY,Joining_Date, GETDATE()) > Period 
0

チェックアウトDATEDIFF:

UPDATE table_name 
SET Approved='Yes' 
WHERE DATEDIFF(dd, Joining_Date, GETDATE()) > Period 
0
UPDATE table_name set Approved = 'Yes' 
WHERE DateDiff(dd, JoiningDate, getdate()) > Period 

期間は日の整数として格納されると仮定します。

期間が日数でない場合、他の例についてはhttp://msdn.microsoft.com/en-us/library/ms189794.aspxを参照してください。