money 및 smallmoney(Transact-SQL)

적용 대상: 예SQL Server(지원되는 모든 버전) 예Azure SQL Database 예Azure SQL Managed Instance 예Azure Synapse Analytics 예병렬 데이터 웨어하우스

통화 또는 통화 값을 나타내는 데이터 형식입니다.

설명

데이터 형식 범위 스토리지
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센트를 나타냅니다.

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

통화 기호, 16진수 값 테이블

통화 데이터는 작은따옴표로 묶지 않아도 됩니다. 통화 값 앞에 통화 기호를 붙일 수 있지만 SQL Server에서는 이 기호와 관련된 통화 정보를 저장하지 않으며 숫자 값만 저장합니다.

money 데이터 변환

정수 데이터 형식에서 money 로 변환할 때 단위는 통화 단위로 간주됩니다. 예를 들어 정수 값 4는 4 통화 단위와 동등한 money 로 변환됩니다.

다음 예에서는 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)