2列のテーブルがあります:
ExpireDate
(日付時刻)IsExpired
(少し)。
列を false から true にExpireDate >= Today Date
変更するかどうかを自動的に確認する方法はありますか?IsExpired
実際、このプロセスは各レコードに対して発生し、すべてのレコードを手動でチェックして、有効期限が切れているレコードを見つけてから列ExpireDate
を変更したくありません。IsExpired
2列のテーブルがあります:
ExpireDate
(日付時刻)IsExpired
(少し)。列を false から true にExpireDate >= Today Date
変更するかどうかを自動的に確認する方法はありますか?IsExpired
実際、このプロセスは各レコードに対して発生し、すべてのレコードを手動でチェックして、有効期限が切れているレコードを見つけてから列ExpireDate
を変更したくありません。IsExpired
IsExpired
次のような更新クエリでフィールドを変更できます。
UPDATE table SET IsExpired = 1 WHERE ExpireDate >= GetDate()
また、これを自動的に実行したい場合は、SQL Server エージェントを使用して、これを実行するジョブをスケジュールできます。
以下を試してください:
update yourtablename
set isexpired = 1
where ExpireDate >= convert(date,getdate())
これを自動的に行う場合は、ビューまたは計算列を使用します。次のように計算列を追加できます。
alter table YourTable
add column isexpired as (case when ExpireDate >= getdate() then 1 else 0 end);
(最初に列を削除する必要がある場合があります。)
計算列の利点は、古くならないことです。