我在同一张表中有以下列:Password_Date (DATETIME, NOT NULL)
Password_Period (INT, FOREIGN KEY of a look-up table)
Password_Cycle (DATETIME, NOT NULL)
Password_Date
datetime
会在用户更改密码时存储Password_Period
。
Password_Cycle
是从查找表引用的外键列。 (说它的值是30)
对于Password_Period
列,我想在计算列中添加公式。
公式的逻辑是在Password_Date
列添加30天(([Password_Date]+[Password_Period])
)。
我在设计视图中尝试了公式Password_Cycle
,但Function EliminarAcentos(texto)
Dim i, s1, s2
s1 = "ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜàáâãäåçèéêëìíîïòóôõöùúûü"
s2 = "AAAAAACEEEEIIIIOOOOOUUUUaaaaaaceeeeiiiiooooouuuu"
If Len(texto) <> 0 Then
For i = 1 To Len(s1)
texto = Replace(texto, Mid(s1,i,1), Mid(s2,i,1))
Next
End If
EliminarAcentos = texto
End Function
的数据类型属性变为空白。
请提供可能的解决方案以便开展此项工作。
注意:我必须只使用计算列公式,而不是函数或程序。
答案 0 :(得分:2)
它在SSMS UI中变为空白,因为SQL Server为表达式中的计算列计算出数据类型本身。这不是设计师定义的东西。
虽然我不喜欢datetime
+ datetime
语法,但它会int
,而是会推荐DATEADD(DAY, Password_Period, Password_Date)
。
答案 1 :(得分:1)
在计算列中,数据类型变为空白。如果你想稍后使用它你可以随时将其转换为所需的类型。