Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 计算列中的表达式_Sql_Sql Server_Sql Server 2008_Tsql_Calculated Columns - Fatal编程技术网

Sql 计算列中的表达式

Sql 计算列中的表达式,sql,sql-server,sql-server-2008,tsql,calculated-columns,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) 十进制什么?

我有一张桌子:

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)

十进制什么?精确是有帮助的。在未指定精度/小数位数的情况下,决不能声明小数。小数点是什么?精确是有帮助的。在未指定精度/比例的情况下,决不能声明小数点。
ALTER TABLE dbo.tablename ADD Total
  AS CONVERT(DECIMAL(10,1),
    (Col2 * CASE WHEN Col1 < 1 THEN 1.0 ELSE Col1 END));