如何在T-SQL中将两种不同的数据类型相乘?

时间:2010-07-21 19:07:08

标签: sql sql-server tsql

如何在SQL Server中将两种类型相乘?

我有一列有费用,其数据类型为money,另一列有integer列,其中包含这些产品的数量。

如何将这两个值相乘以得到代表成本的值?

示例:$2000 * 2

3 个答案:

答案 0 :(得分:4)

使用:

SELECT t.number_of_items * t.cost_of_item AS total_cost
  FROM PRODUCTS t

答案 1 :(得分:1)

DECLARE @UNITS int
DECLARE @UnitCost money

SET @UNITS = 100
SET @UnitCost = 2.20

SELECT (@UNITS * CONVERT(decimal(18,2), @unitcost)) as Total

Replace the @variables with your column names.

答案 2 :(得分:0)

依赖于隐式显式转换类型(如@KM所评论)。

隐式转换由SQL Server自动完成(这是您的情况)。如果不可能发生错误

显式转换由开发人员完成(在SQL Server中使用CASTCONVERT)。如果无法进行转换,则会发生错误

有关详细信息,请参阅SQL Server CAST and CONVERT help