적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric의 SQL 데이터베이스
통화 또는 통화 값을 나타내는 데이터 형식입니다.
Remarks
| 데이터 형식 | Range | Storage |
|---|---|---|
| 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센트를 지정합니다.
이러한 데이터 형식은 다음 통화 기호 중 하나를 사용할 수 있습니다.
| Symbol | Currency | 16진수 값 |
|---|---|---|
| $ | 달러 기호 | 0024 |
| ¢ | 센트 기호 | 00A2 |
| £ | 파운드 기호 | 00A3 |
| ¤ | 화폐 기호 | 00A4 |
| ¥ | 엔 기호 | 00A5 |
| ৲ | 벵골어 루피 마크 | 09F2 |
| ৳ | 벵골어 루피 기호 | 09F3 |
| ฿ | 태국어 바트 통화 기호 | 0E3F |
| ៛ | 크메르 리엘 통화 기호 | 17DB |
| ₠ | 유로 통화 기호 | 20A0 |
| ₡ | 대장 부인 | 20A1 |
| ₢ | 크루제이루 표지판 | 20A2 |
| ₣ | 프랑스 프랑 기호 | 20A3 |
| ₤ | 리라 사인 | 20A4 |
| ₥ | 방앗간 간판 | 20A5 |
| ₦ | 나이라 표지판 | 20A6 |
| ₧ | 페세타 표지판 | 20A7 |
| ₨ | 루피 기호 | 20A8 |
| ₩ | 윔 사인(Won sign) | 20A9 |
| ₪ | 새 셰켈 기호 | 20AA |
| ₫ | 동 징조 | 20AB |
| € | 유로 표지판 | 20AC |
| ₭ | 킵 사인(Kip sign) | 20AD |
| ₮ | 투그릭 기호 | 20AE |
| ₯ | 드라크마 표지판 | 20AF |
| ₰ | 독일 페니 기호 | 20B0 |
| ₱ | 페소 기호 | 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