money 和 smallmoney (Transact-SQL)
適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)
代表金融或貨幣值的資料類型。
備註
資料類型 | 範圍 | 儲存體 |
---|---|---|
money | -922,337,203,685,477.5808 到 922,337,203,685,477.5807 (-922,337,203,685,477.58 到 922,337,203,685,477.58 (Informatica)。 Informatica 只支援兩個十進位數,而非四個。) |
8 個位元組 |
smallmoney | -214,748.3648 到 214,748.3647 | 4 個位元組 |
money 和 smallmoney 資料類型的精確度可達它們所代表之金融單位的萬分之一。 針對 Informatica,money 和 smallmoney 資料類型的精確度可達它們所代表之金融單位的百分之一。
句點可用來分隔局部的貨幣單位 (如分,Cent) 與完整的貨幣單位。 例如,2.15 是指定 2 元又 15 分。
這些資料類型可以使用以下任一種貨幣符號。
貨幣資料不必括在單引號 (') 中。 您必須記住,在指定前面有貨幣符號的貨幣值時,SQL Server 不會儲存任何與符號相關聯的貨幣資訊,其只會儲存數值。
轉換 money 資料
當您從任何整數資料類型轉換成 money 時,會假設單位是貨幣單位。 例如,整數值 4 轉換成 money 時相當於 4 個貨幣單位。
下列範例會分別將 smallmoney 和 money 值轉換成 varchar 和 decimal 資料類型。
DECLARE @mymoney_sm SMALLMONEY = 3148.29,
@mymoney MONEY = 3148.29;
SELECT CAST(@mymoney_sm AS VARCHAR) AS 'SM_MONEY varchar',
CAST(@mymoney AS DECIMAL) AS 'MONEY DECIMAL';
以下為結果集。
SM_MONEY VARCHAR MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148
(1 row(s) affected)
另請參閱
ALTER TABLE (Transact-SQL)CAST 和 CONVERT (Transact-SQL)CREATE TABLE (Transact-SQL)資料類型 (Transact-SQL)DECLARE @local_variable (Transact-SQL)SET @local_variable (Transact-SQL)sys.types (Transact-SQL)
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應