如何在SQL Server中增加兩種類型?T-SQL如何乘以兩種不同的數據類型?
我有一列成本,其數據類型爲money
,另一列integer
列有這些產品的數量。
如何將這兩個值相乘以得到表示成本的值?
實施例:$2000 * 2
如何在SQL Server中增加兩種類型?T-SQL如何乘以兩種不同的數據類型?
我有一列成本,其數據類型爲money
,另一列integer
列有這些產品的數量。
如何將這兩個值相乘以得到表示成本的值?
實施例:$2000 * 2
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.
您不需要'CONVERT',這個工作是一樣的:'SELECT @UNITS * @unitcost as Total' – 2010-07-21 19:15:02
意識到我寫完後:) – JNK 2010-07-21 19:16:42
使用:
SELECT t.number_of_items * t.cost_of_item AS total_cost
FROM PRODUCTS t
Dependantly類型隱或明確皈依將發生(如@KM註釋)的。
隱式轉換由SQL Server自動完成(這是您的情況)。如果不可能發生錯誤。
顯式轉換由開發人員完成(在SQL服務器中使用CAST
或CONVERT
)。如果轉換不可行發生錯誤。
欲瞭解更多信息,請參閱SQL Server CAST and CONVERT help。
你試過了嗎?你的問題是什麼? – Incognito 2010-07-21 19:16:03
我希望OP不會將「money」存儲爲字符串「$ 2000」,如示例 – 2010-07-21 19:19:15
[CAST和CONVERT(Transact-SQL)](http://msdn.microsoft.com/zh-cn/ library/ms187928.aspx)閱讀'Implicit Conversions'部分 – 2010-07-21 19:30:47