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

MySQL로 필드 값 조회 후 특정 문자를 대문자로 변환하는 방법

MySQL에서 REPLACE() 함수를 사용하면 필드(컬럼)의 값을 그대로 가져오면서 특정 문자만 원하는 형태로 바꿀 수 있습니다. 이번 글에서는 이름 데이터에서 특정 알파벳을 대문자로 변환하는 과정을 단계별로 살펴보겠습니다.

1. 테이블 생성

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

mysql> create table DemoTable1897
    (
    Name varchar(20)
    );
Query OK, 0 rows affected (0.00 sec)

2. 샘플 데이터 삽입

INSERT 명령을 사용해 테이블에 여러 개의 레코드를 추가합니다.

mysql> insert into DemoTable1897 values('john');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1897 values('Chris');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1897 values('jace');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1897 values('David');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1897 values('Chris');
Query OK, 1 row affected (0.00 sec)

3. 저장된 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회합니다.

mysql> select * from DemoTable1897;

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

+-------+
| Name  |
+-------+
| john  |
| Chris |
| jace  |
| David |
| Chris |
+-------+
5 rows in set (0.00 sec)

4. 특정 문자를 대문자로 변환하는 쿼리

다음은 필드 값을 조회하면서 소문자 'j'를 대문자 'J'로 변환하는 쿼리입니다. REPLACE() 함수는 첫 번째 인수인 대상 문자열에서 두 번째 인수로 지정한 문자를 찾아 세 번째 인수의 문자로 치환합니다.

mysql> select replace(Name,'j','J') from DemoTable1897;

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

+-----------------------+
| replace(Name,'j','J') |
+-----------------------+
| John                  |
| Chris                 |
| Jace                  |
| David                 |
| Chris                 |
+-----------------------+
5 rows in set (0.00 sec)

추가 팁

'john'과 'jace'처럼 이름 첫 글자가 소문자인 경우에도 위 쿼리를 통해 'John', 'Jace'로 정상적으로 변환되는 것을 확인할 수 있습니다. 만약 각 이름의 첫 글자를 항상 대문자로 만들고 싶다면 CONCAT(UPPER(LEFT(Name,1)), SUBSTRING(Name,2)) 조합을 사용하는 방법도 있습니다. 또한 결과에 별칭(alias)을 붙이면 출력 컬럼명을 더 읽기 쉽게 표시할 수 있습니다.

mysql> select replace(Name,'j','J') AS UpdatedName from DemoTable1897;