我在MSSQL中创建计算列时遇到问题。我正在使用2012年,但理想情况下,这将适用于2005年及以后的任何事情。 自开始日期起,我需要将列设置为等于每个月的另一列的1% 这是我到目前为止所拥有的。我已经尝试将其输入到计算列的公式属性中,但是MSSQL说“你的forumla有错误”。
CASE
WHEN DATEDIFF(d, LienStartDate, GETDATE()) - (DATEDIFF(yyyy, LienStartDate, GETDATE()) * 365) >= 0
THEN Amount * (DATEDIFF(m, LienSTartDate, GETDATE()) * 0.01)
WHEN DATEDIFF(d, LienStartDate, GETDATE()) - (DATEDIFF(yyyy, LienStartDate, GETDATE()) * 365) < 0
THEN Amount * ((DATEDIFF(m, LienStartDate, GETDATE()) - 1) * 0.01) END
当我针对以下数据运行它作为选择时,我得到了正确的结果。 (12,11,12)
LienStartDate | Amount
2014/01/20 100
2014/01/25 100
2014/01/23 100