MySQL의 기존 필드에 문자열 추가

Mehvish Ashiq 2023년6월20일
MySQL의 기존 필드에 문자열 추가

오늘은 CONCAT()CONCAT_WS() 기능을 사용하여 MySQL 필드에서 문자열 값을 연결하거나 추가하는 방법을 배웁니다.

CONCAT()CONCAT_WS()를 사용하여 MySQL의 기존 필드에 문자열 추가

CONCAT()CONCAT_WS()에 대해 알아보려면 다음 쿼리를 사용하여 category_idcategory_code 필드가 포함된 category 테이블을 생성해 보겠습니다.

예제 코드:

CREATE TABLE category(
    category_id INT,
    category_code VARCHAR(50)
);

INSERT INTO category (category_id, category_code)
VALUES
(1, 'Windows_1'),
(2, 'Windows_2'),
(3, 'Windows_1');

SELECT * FROM category;

출력:

+-------------+---------------+
| category_id | category_code |
+-------------+---------------+
|           1 | Windows_1     |
|           2 | Windows_2     |
|           3 | Windows_1     |
+-------------+---------------+
3 rows in set (0.00 sec)

CONCAT()을 사용하여 MySQL의 기존 필드에 문자열 추가

이제 CONCAT() 메서드를 사용하여 표준이라는 단어를 category_code 열의 각 값과 연결합니다.

예제 코드:

UPDATE category SET category_code = CONCAT(category_code, 'standard');

출력:

+-------------+-------------------+
| category_id | category_code     |
+-------------+-------------------+
|           1 | Windows_1standard |
|           2 | Windows_2standard |
|           3 | Windows_1standard |
+-------------+-------------------+
3 rows in set (0.02 sec)

CONCAT() 메서드는 하나 이상의 문자열 유형 인수를 가져와 하나의 문자열로 연결합니다. 이 함수에는 최소한 하나의 매개변수가 필요합니다. 그렇지 않으면 오류가 생성됩니다.

표현식이 숫자 값 또는 이진이 아닌 문자열인 경우 CONCAT() 메서드는 이진 문자열 또는 이진이 아닌 문자열을 반환합니다. 마찬가지로 표현식이 NULL 또는 이진 문자열인 경우 CONCAT() 메서드는 NULL 또는 이진 문자열을 반환합니다.

위의 출력은 표준이라는 단어가 구분 기호 없이 추가되었음을 보여줍니다. 구분 기호를 추가하기 위해 다음과 같은 방식으로 쿼리를 실행합니다.

예제 코드:

UPDATE category SET category_code = CONCAT(category_code, '_','standard');

출력:

+-------------+--------------------+
| category_id | category_code      |
+-------------+--------------------+
|           1 | Windows_1_standard |
|           2 | Windows_2_standard |
|           3 | Windows_1_standard |
+-------------+--------------------+
3 rows in set (0.00 sec)

3개의 단어로 구성된 문자열에 구분 기호를 추가하고 싶다고 가정하면 CONCAT() 메서드를 사용하여 다음과 같이 수행합니다.

예제 코드:

UPDATE category SET
category_code = CONCAT(category_code,'_','standard1','_','standard2','_', 'standard3');

출력:

+-------------+-----------------------------------------+
| category_id | category_code                           |
+-------------+-----------------------------------------+
|           1 | Windows_1_standard1_standard2_standard3 |
|           2 | Windows_2_standard1_standard2_standard3 |
|           3 | Windows_1_standard1_standard2_standard3 |
+-------------+-----------------------------------------+
3 rows in set (0.06 sec)

이제 추가하려는 문자열의 6개 단어를 생각해 보십시오. 코드는 더 이상 깨끗하지 않습니다. 여기에서 CONCAT_WS() 함수를 사용합니다.

CONCAT_WS()를 사용하여 MySQL의 기존 필드에 문자열 추가

예제 코드:

UPDATE category SET
category_code = CONCAT_WS('_',category_code,'standard1','standard2','standard3');

출력:

+-------------+-----------------------------------------+
| category_id | category_code                           |
+-------------+-----------------------------------------+
|           1 | Windows_1_standard1_standard2_standard3 |
|           2 | Windows_2_standard1_standard2_standard3 |
|           3 | Windows_1_standard1_standard2_standard3 |
+-------------+-----------------------------------------+
3 rows in set (0.00 sec)

CONCAT()과 마찬가지로 CONCAT_WS() 메서드도 문자열 유형 인수를 사용합니다. 첫 번째 인수는 구분 기호이고 나머지는 추가하려는 문자열 값입니다.

이 메서드는 NULL 값이 있는 식을 무시하고 구분 기호가 NULL인 경우 NULL 값을 반환합니다.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

관련 문장 - MySQL String