计算列中的表达式

Sta*_*ace 1 sql t-sql sql-server calculated-columns sql-server-2008

我有一张桌子:

Col1
Col2
Total (computed column)
Run Code Online (Sandbox Code Playgroud)

所有都是十进制(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)
Run Code Online (Sandbox Code Playgroud)

Aar*_*and 6

ALTER TABLE dbo.tablename ADD Total
  AS CONVERT(DECIMAL(10,1),
    (Col2 * CASE WHEN Col1 < 1 THEN 1.0 ELSE Col1 END));
Run Code Online (Sandbox Code Playgroud)