如何根据表中其他两列的值更改列的值?

blmhpbnm  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(347)

我有一张table Loan ,与其他列一起包含 LoanDate , ReturnDate 以及 Expired . 前两个是datetime,而后一个有点。
如果 getutcdate() 已经过去了 ReturnDate 价值观 Expired 列自动更新为1?

vof42yt1

vof42yt11#

如果我理解正确的话,你想要 Expired 列自动变为 1 当前日期结束时 ReturnDate .
在这种情况下,可以使用计算列 Expired :

create table Loan (
  LoanDate datetime null,
  ReturnDate datetime null,
  Expired as cast(case when getutcdate()>ReturnDate then 1 else 0 end as bit)
)

对于使用同一行中的数据的简单计算来说,这很好。
请注意,计算列是“只读”的,您可以从中省略 INSERT 以及 UPDATE 声明:

insert into Loan (LoanDate, ReturnDate) values
  ('20010101','20011231'),
  ('20210101','20211231')

相关问题