是否有一种标准方法来表示 RDBMS 中另一个日期之前或之后一定天数的日期?
例如,假设日期 1 是 2005 年 10 月 30 日,显然可以将其存储在 RDB 中的日期时间列或类似列中。
但是假设日期 2 是“日期 1 之后 3 天”,假设日期 1 可以在未来随时更改,这意味着日期 2 必须以某种方式自动更新,那么您如何在 RDB 中表示它?
谢谢!!
最佳答案
给出2项信息,你总能算出第三项
- 开始日期 + 偏移量 = 另一个日期
- 另一个日期 - 开始日期 = 偏移量
在本例中,您似乎有 2 个已知事实
- 开始日期
- 偏移量
存储这些内容并使“另一个日期”成为带有 DATEADD 的计算列
CREATE TABLE whatever (
...
StartDate date NOT NULL,
DayOffset smallint NOT NULL,
AnotherDate AS DATEADD (day, DayOffset, StartDate),
...
这样,当 2 个输入值发生变化时,AnotherDate 将由数据库引擎维护
如果这 3 个因素中的任何一个可以改变,那么您通常必须使用触发器...
关于java - 表示 RDBMS 中另一个日期之前或之后一定天数的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6919228/