我有一个表,它的结构和一些值如下:
PK_ID
1-1
2成品率、成品率
3成品率、成品率
现在,我希望根据日期动态更新Is_Active列值(即:更新、插入和删除后的而不是)。如果它与当前日期匹配,那么Is_Active列值将设置为false。
我尝试过使用触发器,但是它应该是在一些操作之后使用的,比如插入和更新,这与我的需求相冲突。
我很感谢你的帮助。谢谢
发布于 2015-11-19 13:01:15
使用计算列:
alter table t add Is_Active as (case when cast(start_date as date) = cast(getdate() as date) then 0 else 1 end)当然,您可能需要先删除列。
注意:这使用1表示true,0表示false。这些常量未在Server中定义。你可以用任何你喜欢的价值观。
发布于 2015-11-19 13:01:41
看起来您应该能够使用计算列来实现这一点,尽管我从未尝试过。
https://msdn.microsoft.com/en-GB/library/ms188300.aspx
我想应该是这样的:
ALTER TABLE webinars ADD ActiveFlag AS
CASE WHEN Start_Date = CAST(GetDate() AS date) THEN 'True'
ELSE 'False' ENDhttps://stackoverflow.com/questions/33804530
复制相似问题