在MSSQL中创建计算列

时间:2015-01-23 18:06:40

标签: sql-server calculated-columns

我在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

0 个答案:

没有答案