money 및 smallmoney(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform 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는 4개가 아닌 2개의 소수점만 지원합니다.)
8바이트
smallmoney -214,748.3648 ~ 214,748.3647 4바이트

moneysmallmoney 데이터 형식은 나타내는 통화 단위의 1/10000까지 정확합니다. Informatica의 경우 moneysmallmoney 데이터 형식은 나타내는 통화 단위의 1/100에 정확합니다.

기간을 사용하여 센트와 같은 부분 통화 단위를 전체 통화 단위에서 분리합니다. 예를 들어 2.15는 2달러와 15센트를 지정합니다.

이러한 데이터 형식은 다음 통화 기호 중 하나를 사용할 수 있습니다.

Table of currency symbols, hexadecimal values

통화 또는 통화 데이터는 작은따옴표(' )로 묶을 필요가 없습니다. 통화 기호 앞에 통화 값을 지정할 수 있지만 SQL Server는 기호와 연결된 통화 정보를 저장하지 않지만 숫자 값만 저장한다는 점을 기억해야 합니다.

통화 데이터 변환

정수 데이터 형식에서 money변환하는 경우 단위는 통화 단위로 간주됩니다. 예를 들어 정수 값 4는 4 통화 단위에 해당하는 금액 으로 변환됩니다.

다음 예에서는 smallmoneymoney 값을 각각 varchardecimal 데이터 형식으로 변환합니다.

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)