MSSQL 숫자 3자리 콤마 넣기 또는 삭제하기

SQLServer 2012 이후부터는 FORMAT()을 사용해서 간단하게 숫자 3자리마다 콤마를 넣어 금액을 표시할 수 있습니다.

그리고 parse() 사용하여 3자리마다 들어가 있는 콤마를 삭제할 수도 있습니다.

  • 콤마 넣기 – FORMAT()
  • 콤마 삭제 – parse()

 

3자리 콤마 넣기

FORMAT() 사용해서 숫자 3자리마다 콤마를 넣는 방법을 보겠습니다.

3자리 콤마 예제1

SELECT FORMAT(123456789, N'#,0');

 

결과

123,456,789

 

3자리 콤마 예제2

SELECT FORMAT(123456789, '##,##0');

 

결과

123,456,789

 

예제1과 예제2 에서 포맷 형식은 조금 다르지만 결과는 동일합니다.

결과는 3자리마다 ,(콤마)가 들어가 표시되었습니다.

예제를 하나 더 보겠습니다.

이번에는 소수점이 있는 숫자에 콤마를 넣어 표시해보겠습니다.

SELECT FORMAT(123456789.12, N'#,0');
SELECT FORMAT(123456789.34, '##,##0');

 

결과

123,456,789
123,456,789

 

소수점 뒷부분은 생략되어 표시됩니다.

정확히 말하면 소수점은 반올림되어 표시됩니다.

만약 소수점도 표시하고 싶은 경우에는 다음과 같이 포맷을 설정하면 됩니다.

SELECT FORMAT(123456789.12, N'#,0.##');
SELECT FORMAT(123456789.34, '##,##0.##');

 

결과

123,456,789.12
123,456,789.34

 

포맷 형식을 N’#,0.##’‘##,##0.##’ 으로 지정했습니다.

.(소수점) 뒤에 표시하고 싶은 소수점 자리수 만큼 #을 지정해주면 됩니다.

 

3자리 콤마 삭제하기

이번에는 3자리마다 들어가 있는 콤마를 삭제하는 방법을 보겠습니다.

3자리 콤마 삭제 예제

SELECT PARSE('123,456,789' AS DECIMAL);

 

결과

123456789

 

콤마가 삭제되어 결과가 표시되었습니다.

데이터 타입을 NVARCHAR 또는 NUMERIC으로 지정하면 CAST 변환 에러가 발생합니다.

콤마를 삭제해서 계산해야 하는 경우 프로그램에서 콤마를 삭제하는 것이 좋겠지만 단순히 표시 해야거나 프로시저 내에서 사용해야 하는 경우에는 주의해서 사용해야 합니다.

 

정리

숫자에 콤마를 넣거나 제거하는 방법을 보았습니다.

콤마를 지정하는 경우에는 FORMAT콤마를 제거 하고 싶은 경우에는 PARSE를 사용하였습니다.

댓글