데이타베이스/MSSQL
MSSQL 숫자 세자리 마다 콤마(쉼표) 찍기
유키공
2020. 2. 10. 15:25
- 숫자 세자리 마다 콤마(쉼표) 찍기
MSSQL에서 세자리 마다 콤마를 찍어주기 위해서는 데이타의 형이 money 형으로 저장되어 있던지 money 형으로 컨버팅(converting)이 가능한 값으로 데이타가 저장되어 있어야 만 합니다.
컬럼의 데이타 형이 varchar라도 반드시 숫자 포맷으로만 저장되어 있으면 가능합니다.
아래의 Test_tbl은 column1 컬럼의 값은 "1000000" 으로 가정하겠습니다.
SELECT column1 FROM Test_tbl;
일단 column1 의 값이 숫자이기 때문에 money형으로 컨버팅하는 것이 가능합니다. 아래와 같이 convert 함수를 이용해서
money 형으로 컨버팅 합니다.
SELECT convert( MONEY, column1 ) FROM Test_tbl
여기에 콤마를 찍기위한 style 값을 주기 위해서 다시한번 컨버팅합니다.
SELECT convert( VARCHAR, convert( MONEY, column1 ), 1 ) FROM Test_tbl
출력된 값에서 콤마가 찍힌것은 확인 되었는데 "1,000,000.00" 뒤에 소수점 두자리가 더 붙어 있습니다. 이것은 money 가 우리나라 돈인 원(\)을 뜻하는 데이타 형이 아니라 달러($)를 뜻하는 데이타 형이라 그런것입니다.
.00 제거하기
-- replace를 이용한 방법
SELECT replace( convert( VARCHAR, convert( MONEY, 1000000 ), 1 ), '.00', '' )