/* 在SQL SERVER或者Oracle中有计算列的概念,所以可以实现你的需求,如下 */create table #t(F_BeginDate datetime, F_LastDay int, F_Flag as case when getdate() between F_BeginDate and dateadd(d,F_LastDay,F_BeginDate) then 0 else 1 end )insert #t(F_BeginDate,F_LastDay) select '2006-12-01',20 Go insert #t(F_BeginDate,F_LastDay) select '2006-12-01',30 Go/* 但是mysql中没有计算列,所以你只能通过视图来实现了 */alter view v_test as select F_BeginDate, F_LastDay, IF(sysdate() between F_BeginDate and F_BeginDate+interval F_LastDay Day,0,1) as F_Flag from t;select * from v_test;
F_LastDay int,
F_Flag as case when getdate() between F_BeginDate and dateadd(d,F_LastDay,F_BeginDate) then 0 else 1 end
)insert #t(F_BeginDate,F_LastDay) select '2006-12-01',20
Go
insert #t(F_BeginDate,F_LastDay) select '2006-12-01',30
Go/* 但是mysql中没有计算列,所以你只能通过视图来实现了 */alter view v_test
as
select F_BeginDate,
F_LastDay,
IF(sysdate() between F_BeginDate and F_BeginDate+interval F_LastDay Day,0,1) as F_Flag
from t;select * from v_test;