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바이트 |
money 및 smallmoney 데이터 형식은 나타내는 통화 단위의 1/10000까지 정확합니다. Informatica의 경우 money 및 smallmoney 데이터 형식은 나타내는 통화 단위의 1/100에 정확합니다.
기간을 사용하여 센트와 같은 부분 통화 단위를 전체 통화 단위에서 분리합니다. 예를 들어 2.15는 2달러와 15센트를 지정합니다.
이러한 데이터 형식은 다음 통화 기호 중 하나를 사용할 수 있습니다.
통화 또는 통화 데이터는 작은따옴표(' )로 묶을 필요가 없습니다. 통화 기호 앞에 통화 값을 지정할 수 있지만 SQL Server는 기호와 연결된 통화 정보를 저장하지 않지만 숫자 값만 저장한다는 점을 기억해야 합니다.
통화 데이터 변환
정수 데이터 형식에서 money로 변환하는 경우 단위는 통화 단위로 간주됩니다. 예를 들어 정수 값 4는 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 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기