Sql server 用于基于另一个日期和外键列添加日期的计算列

Sql server 用于基于另一个日期和外键列添加日期的计算列,sql-server,calculated-columns,Sql Server,Calculated Columns,我在同一个表中有以下列,即Authentication Password_Date (DATETIME, NOT NULL) Password_Period (INT, FOREIGN KEY of a look-up table) Password_Cycle (DATETIME, NOT NULL) 当用户更改密码时,Password\u Date将存储datetime Password\u Period是从查找表中引用的外键列。(假设其值为30) 对于Password\u Cycle列

我在同一个表中有以下列,即
Authentication

Password_Date (DATETIME, NOT NULL)
Password_Period (INT, FOREIGN KEY of a look-up table)
Password_Cycle (DATETIME, NOT NULL)
  • 当用户更改密码时,
    Password\u Date
    将存储
    datetime

  • Password\u Period
    是从查找表中引用的外键列。(假设其值为30)

  • 对于
    Password\u Cycle
    列,我想在computed列中添加一个公式。 公式的逻辑是将30天(
    Password\u Period
    )与
    Password\u Date
    列相加

我在设计视图中尝试了公式
([Password\u Date]+[Password\u Period])
,但是
Password\u Cycle
的数据类型属性变为空白

请提供可能的解决方案来完成这项工作


注意:我只能使用计算列公式,不能使用函数或过程。

在计算列中,数据类型为空。如果你想在以后使用它,你可以将它转换为你想要的类型

它在SSMS UI中变为空白,因为SQL Server会根据表达式计算出计算列的数据类型本身。这不是设计器中定义的内容

它将是
datetime
,尽管我不喜欢
datetime
+
int
语法,建议改为
DATEADD(日期、密码周期、密码日期)