money 및 smallmoney(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics 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는 4개가 아닌 2개의 소수점만 지원합니다.) |
8바이트 |
smallmoney | -214,748.3648 ~ 214,748.3647 | 4바이트 |
money 및 smallmoney 데이터 형식은 나타내는 통화 단위의 1/10000까지 정확합니다. Informatica의 경우 money 및 smallmoney 데이터 형식은 나타내는 통화 단위의 1/100에 정확합니다.
기간을 사용하여 센트와 같은 부분 통화 단위를 전체 통화 단위에서 분리합니다. 예를 들어 2.15
2달러와 15센트를 지정합니다.
이러한 데이터 형식은 다음 통화 기호 중 하나를 사용할 수 있습니다.
기호 | 통화 | 16 진수 값 |
---|---|---|
$ | $ 기호 | 0024 |
¢ | 센트 기호 | 00A2 |
£ | 파운드 기호 | 00A3 |
¤ | 통화 기호 | 00A4 |
¥ | 엔화 기호 | 00A5 |
৲ | 벵골어 루피 마크 | 09F2 |
৳ | 벵골어 루피 기호 | 09F3 |
฿ | 태국어 바트 통화 기호 | 0E3F |
៛ | 크메르 리엘 통화 기호 | 17DB |
₠ | 유로 통화 기호 | 20A0 |
₡ | 콜론 기호 | 20A1 |
₢ | 크루세이로 사인 | 20A2 |
₣ | 프랑스 프랑 기호 | 20A3 |
₤ | Lira 기호 | 20A4 |
₥ | 밀 기호 | 20A5 |
₦ | Naira 기호 | 20A6 |
₧ | 페세타 기호 | 20A7 |
Rs | 루피 기호 | 20A8 |
₩ | 원 기호 | 20A9 |
₪ | 새 셰켈 기호 | 20AA |
₫ | 동 기호 | 20AB |
€ | 유로 기호 | 20AC |
₭ | Kip 기호 | 20AD |
₮ | Tugrik 기호 | 20AE |
₯ | 드라크마 기호 | 20AF |
₰ | 독일 페니 기호 | 20B0 |
₱ | Peso 기호 | 20B1 |
﷼ | 리알 기호 | FDFC |
﹩ | 작은 달러 기호 | FE69 |
$ | 전폭 달러 기호 | FF04 |
¢ | 전체 너비 Cent 기호 | FFE0 |
£ | 전폭 파운드 기호 | FFE1 |
¥ | 전폭 엔 기호 | FFE5 |
₩ | 전폭 원 기호 | FFE6 |
통화 또는 통화 데이터를 작은따옴표('
)로 묶을 필요가 없습니다. 통화 기호 앞에 통화 값을 지정할 수 있지만 SQL Server는 기호와 연결된 통화 정보를 저장하지 않고 숫자 값만 저장합니다.
Warning
통화 값을 money 및 smallmoney로 저장할 때 잘림을 통해 반올림 오류를 경험할 수 있습니다. 금액 또는 통화 값이 계산에 사용되는 경우 이 데이터 형식을 사용하지 마십시오. 대신 10진수 데이터 형식을 4개 이상의 소수 자릿수와 함께 사용합니다.
Money 데이터 변환
정수 데이터 형식에서 money로 변환하는 경우 단위는 통화 단위로 간주됩니다. 예를 들어 정수 값 4
은 4 통화 단위에 해당하는 금액 으로 변환됩니다.
다음 예에서는 smallmoney 및 money 값을 각각 varchar 및 decimal 데이터 형식으로 변환합니다.
DECLARE @mymoney_sm SMALLMONEY = 3148.29,
@mymoney MONEY = 3148.29;
SELECT CAST(@mymoney_sm AS VARCHAR(20)) AS 'SM_MONEY VARCHAR(20)',
CAST(@mymoney AS DECIMAL) AS 'MONEY DECIMAL';
결과 집합은 다음과 같습니다. 예제의 소수점 형식에는 소수 자릿수가 없으므로 값이 잘립니다.
SM_MONEY VARCHAR(20) MONEY DECIMAL
------------------------------ ----------------------
3148.29 3148