1

2列のテーブルがあります:

  1. ExpireDate(日付時刻)
  2. IsExpired(少し)。

列を false から true にExpireDate >= Today Date変更するかどうかを自動的に確認する方法はありますか?IsExpired

実際、このプロセスは各レコードに対して発生し、すべてのレコードを手動でチェックして、有効期限が切れているレコードを見つけてから列ExpireDateを変更したくありません。IsExpired

4

3 に答える 3

3

IsExpired次のような更新クエリでフィールドを変更できます。

UPDATE table SET IsExpired = 1 WHERE ExpireDate >= GetDate()

また、これを自動的に実行したい場合は、SQL Server エージェントを使用して、これを実行するジョブをスケジュールできます。

于 2013-07-07T08:49:56.307 に答える
1

以下を試してください:

update yourtablename
set isexpired = 1
where ExpireDate >= convert(date,getdate())
于 2013-07-07T08:49:08.503 に答える
1

これを自動的に行う場合は、ビューまたは計算列を使用します。次のように計算列を追加できます。

alter table YourTable
   add column isexpired as (case when ExpireDate >= getdate() then 1 else 0 end);

(最初に列を削除する必要がある場合があります。)

計算列の利点は、古くならないことです。

于 2013-07-07T11:54:12.497 に答える