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
是从查找表中引用的外键列。(假设其值为30)Password\u Period
- 对于
列,我想在computed列中添加一个公式。 公式的逻辑是将30天(Password\u Cycle
)与Password\u Period
列相加Password\u Date
([Password\u Date]+[Password\u Period])
,但是Password\u Cycle
的数据类型属性变为空白
请提供可能的解决方案来完成这项工作
注意:我只能使用计算列公式,不能使用函数或过程。在计算列中,数据类型为空。如果你想在以后使用它,你可以将它转换为你想要的类型 它在SSMS UI中变为空白,因为SQL Server会根据表达式计算出计算列的数据类型本身。这不是设计器中定义的内容 它将是
datetime
,尽管我不喜欢datetime
+int
语法,建议改为DATEADD(日期、密码周期、密码日期)