首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何基于另一个值更新sql表列值dynamicllay?

如何基于另一个值更新sql表列值dynamicllay?
EN

Stack Overflow用户
提问于 2015-11-19 12:52:32
回答 2查看 56关注 0票数 0

我有一个表,它的结构和一些值如下:

PK_ID

1-1

2成品率、成品率

3成品率、成品率

现在,我希望根据日期动态更新Is_Active列值(即:更新、插入和删除后的而不是)。如果它与当前日期匹配,那么Is_Active列值将设置为false。

我尝试过使用触发器,但是它应该是在一些操作之后使用的,比如插入和更新,这与我的需求相冲突。

我很感谢你的帮助。谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-11-19 13:01:15

使用计算列:

代码语言:javascript
复制
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中定义。你可以用任何你喜欢的价值观。

票数 2
EN

Stack Overflow用户

发布于 2015-11-19 13:01:41

看起来您应该能够使用计算列来实现这一点,尽管我从未尝试过。

https://msdn.microsoft.com/en-GB/library/ms188300.aspx

我想应该是这样的:

代码语言:javascript
复制
ALTER TABLE webinars ADD ActiveFlag AS
    CASE WHEN Start_Date = CAST(GetDate() AS date) THEN 'True'
    ELSE 'False' END
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33804530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档