计算列中的表达式

时间:2012-07-06 14:09:08

标签: sql sql-server sql-server-2008 tsql calculated-columns

我有一张桌子:

Col1
Col2
Total (computed column)

所有都是十进制(10,1)类型。

我希望Total的值是Col1 * Col2的结果,但是如果Col1的值小于1.00,我只想将它视为1.00。

示例:

Col1  Col2    Total
 -------------------
 4      2       8
 1      2       2 
 0.5    7000    7000 (here, total should not be 3500)

1 个答案:

答案 0 :(得分:6)

ALTER TABLE dbo.tablename ADD Total
  AS CONVERT(DECIMAL(10,1),
    (Col2 * CASE WHEN Col1 < 1 THEN 1.0 ELSE Col1 END));
相关问题