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

MySQL SELECT 쿼리에서 소수점(.)을 쉼표(,)로 바꾸는 방법

MySQL에서 데이터를 조회할 때 숫자 값의 소수점(.)을 쉼표(,)로 변경해야 하는 경우가 있습니다. 예를 들어 유럽식 숫자 표기법처럼 소수 구분 기호를 쉼표로 표시해야 할 때가 그렇습니다. 이럴 때는 REPLACE() 함수를 사용하면 간단하게 해결할 수 있습니다.

REPLACE() 함수 기본 문법

REPLACE() 함수는 문자열 내에서 지정한 문자를 다른 문자로 치환해 줍니다. 기본 문법은 다음과 같습니다.

SELECT REPLACE(yourColumnName, '.', ',') FROM yourTableName;

REPLACE() 함수는 세 개의 인자를 받습니다.

- 첫 번째 인자: 대상이 되는 컬럼 또는 문자열
- 두 번째 인자: 찾을 문자(여기서는 '.')
- 세 번째 인자: 바꿀 문자(여기서는 ',')

예제 테이블 생성

실습을 위해 먼저 FLOAT 타입의 컬럼을 가진 테이블을 생성해 보겠습니다.

mysql> CREATE TABLE DemoTable
(
    Value float
);
Query OK, 0 rows affected (0.63 sec)

데이터 삽입

INSERT 명령으로 소수점이 포함된 여러 레코드를 입력합니다.

mysql> INSERT INTO DemoTable VALUES(4.56);
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable VALUES(456.23);
Query OK, 1 row affected (0.12 sec)
mysql> INSERT INTO DemoTable VALUES(1078.3);
Query OK, 1 row affected (0.22 sec)
mysql> INSERT INTO DemoTable VALUES(2000.50);
Query OK, 1 row affected (0.26 sec)
mysql> INSERT INTO DemoTable VALUES(78.99);
Query OK, 1 row affected (0.16 sec)

저장된 데이터 확인

SELECT 명령으로 테이블에 저장된 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM DemoTable;

실행 결과는 다음과 같습니다.

+--------+
| Value  |
+--------+
| 4.56   |
| 456.23 |
| 1078.3 |
| 2000.5 |
| 78.99  |
+--------+
5 rows in set (0.00 sec)

소수점을 쉼표로 바꾸는 SELECT 쿼리

이제 REPLACE() 함수를 활용하여 Value 컬럼의 소수점을 쉼표로 변경하는 쿼리입니다.

mysql> SELECT REPLACE(Value,'.',',') FROM DemoTable;

실행 결과를 확인하면 모든 값의 소수점이 쉼표로 바뀌어 출력됩니다.

+------------------------+
| replace(Value,'.',',') |
+------------------------+
| 4,56                   |
| 456,23                 |
| 1078,3                 |
| 2000,5                 |
| 78,99                  |
+------------------------+
5 rows in set (0.07 sec)

참고 사항

REPLACE() 함수는 결과를 조회 시점에만 변환해 주며, 실제 테이블에 저장된 원본 데이터는 변경되지 않습니다. 만약 별칭(alias)을 지정하고 싶다면 다음과 같이 AS 키워드를 사용할 수 있습니다.

SELECT REPLACE(Value, '.', ',') AS ConvertedValue FROM DemoTable;

이처럼 REPLACE() 함수를 사용하면 별도의 데이터 수정 없이 SELECT 결과에서 손쉽게 소수점을 쉼표로 변환하여 출력할 수 있습니다.