【问题标题】:Is it possible to store a variable (int) in SQL to then take effect once a certain date has been reached?是否可以在 SQL 中存储一个变量(int),然后在到达某个日期后生效?
【发布时间】:2019-04-12 10:27:26
【问题描述】:

是否可以将变量存储在 SQL 表中,该变量仅在到达特定日期后才会生效?该变量是将添加到日期以创建“TargetDate”的天数,该变量可以通过用户输入进行更改,但必须具有“EffectiveDate”?

【问题讨论】:

  • 请提供样本数据、所需结果和数据库标签。
  • 例如,变量 int 可以是“20”作为要添加的天数,用户可以将其更改为“30”。这意味着 2019 年 2 月 1 日的日期应增加 30 天。但是,生效日期可能是 2019 年 1 月 31 日,这意味着 int 值的变化不应该在此日期之后发生。这也意味着 int 的值不应该影响生效日期之前的任何日期......
  • “SQL”(查询语言)没有以开头的变量

标签: sql datetime int


【解决方案1】:

您当然可以创建一个存储配置数据的configuration 表。在您的情况下,其中一项将'EFCTV_BUFFER' 作为键列中的值,并且(例如)'5' 作为值列中的天数。然后您可以引用该键值来选择缓冲天数值,并将其添加到您想要的任何日期。

这允许您随时根据要求对其进行修改。

您将在存储日期的表上的插入/更新触发器中引用此表。我建议有两个日期,以便计算只进行一次,除非您需要根据当前的 'EFCTV_BUFFER' 配置值动态计算。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-03
    相关资源
    最近更新 更多