Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 뷰(View)를 활용해 숫자에 천 단위 구분 기호를 추가하는 방법

데이터베이스에서 큰 숫자를 다룰 때 콤마(,)로 구분된 형태로 표시하면 훨씬 읽기 편합니다. MySQL에서는 FORMAT() 함수와 뷰(View)를 조합하면 원본 테이블은 그대로 유지하면서 화면에는 가독성 좋은 형식으로 숫자를 출력할 수 있습니다.

1. 예제 테이블 생성하기

먼저 실습에 사용할 테이블을 생성합니다.

mysql> create table DemoTable
(
    StudentId int
);
Query OK, 0 rows affected (0.62 sec)

2. 샘플 데이터 삽입하기

INSERT 명령어를 사용해 몇 개의 레코드를 입력합니다.

mysql> insert into DemoTable values(343898456);
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values(222333444);
Query OK, 1 row affected (0.22 sec)

3. 원본 데이터 확인하기

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다. 아직 구분 기호 없이 숫자가 그대로 출력됩니다.

+-----------+
| StudentId |
+-----------+
| 343898456 |
| 222333444 |
+-----------+
2 rows in set (0.00 sec)

4. FORMAT() 함수로 뷰 생성하기

이제 FORMAT() 함수를 적용한 뷰를 만들어 보겠습니다. FORMAT(StudentId, 0)은 소수점 이하 자릿수를 0으로 지정하여 정수에 천 단위마다 콤마를 자동으로 붙여 줍니다.

mysql> create view myView_DemoTable as select format(StudentId, 0) AS `StudentId` from DemoTable;
Query OK, 0 rows affected (0.18 sec)

5. 뷰 조회하기

생성한 뷰의 레코드를 확인해 보겠습니다.

mysql> select *from myView_DemoTable;

실행 결과는 다음과 같습니다. 숫자에 콤마 구분 기호가 깔끔하게 적용된 것을 볼 수 있습니다.

+-------------+
| StudentId   |
+-------------+
| 343,898,456 |
| 222,333,444 |
+-------------+
2 rows in set (0.04 sec)

참고 사항

  • FORMAT() 함수는 결과를 문자열(VARCHAR)로 반환하므로, 뷰를 통해 조회한 값은 더 이상 숫자 연산에 직접 사용할 수 없습니다.
  • 소수점까지 표시하고 싶다면 두 번째 인자에 원하는 자릿수를 지정하세요. 예: FORMAT(StudentId, 2) → "343,898,456.00"
  • 원본 테이블의 데이터가 변경되면 뷰를 조회할 때 항상 최신 값이 반영되므로, 별도의 갱신 작업이 필요하지 않습니다.

이처럼 뷰와 FORMAT() 함수를 활용하면 원본 데이터는 정수형으로 유지하면서, 조회 시점에만 사람이 읽기 쉬운 형식으로 변환해 출력할 수 있습니다.