카테고리:

문자열 및 이진 함수 (일반)

CONCAT , ||

하나 이상의 문자열을 연결하거나 하나 이상의 이진 값을 연결합니다.

|| 연산자는 CONCAT에 대한 대체 구문을 제공하며 최소 두 개의 인자가 필요합니다.

참고 항목:

CONCAT_WS

구문

CONCAT( <expr> [ , <expr> ... ] )

<expr> || <expr> [ || <expr> ... ]
Copy

인자

expr

The input expressions must be all strings, or all binary values.

반환

The data type of the returned value is the same as the data type of the input values.

If any input value is NULL, the function returns NULL.

사용법 노트

GET_DDL 같은 메타데이터 함수는 상수만 입력으로 받아들입니다. 연결된 입력은 오류를 생성합니다.

데이터 정렬 세부 정보

두 문자열을 연결합니다.

SELECT CONCAT('George Washington ', 'Carver');
Copy
+----------------------------------------+
| CONCAT('GEORGE WASHINGTON ', 'CARVER') |
|----------------------------------------|
| George Washington Carver               |
+----------------------------------------+

다섯 개의 문자열을 연결하고 그중 세 개에는 :doc:`세션 변수</sql-reference/session-variables>`를 사용합니다.

SET var_first_name = 'George';
SET var_middle_name = 'Washington';
SET var_last_name = 'Carver';

SELECT CONCAT($var_first_name, ' ', $var_middle_name, ' ', $var_last_name) AS concat_name;
Copy
+--------------------------+
| CONCAT_NAME              |
|--------------------------|
| George Washington Carver |
+--------------------------+

두 VARCHAR 열을 연결합니다. 먼저 테이블을 만들고 데이터를 삽입합니다.

CREATE OR REPLACE TABLE concat_function_example (s1 VARCHAR, s2 VARCHAR, s3 VARCHAR);
INSERT INTO concat_function_example (s1, s2, s3) VALUES
  ('co', 'd', 'e'),
  ('Colorado ', 'River ', NULL);
Copy

쿼리를 실행합니다.

SELECT CONCAT(s1, s2)
  FROM concat_function_example;
Copy
+-----------------+
| CONCAT(S1, S2)  |
|-----------------|
| cod             |
| Colorado River  |
+-----------------+

셋 이상의 문자열을 연결합니다.

SELECT CONCAT(s1, s2, s3)
  FROM concat_function_example;
Copy
+--------------------+
| CONCAT(S1, S2, S3) |
|--------------------|
| code               |
| NULL               |
+--------------------+

IFF 함수와 CONCAT 함수를 함께 사용하여 NULL이 아닌 문자열을 연결합니다.

SELECT CONCAT(
    IFF(s1 IS NULL, '', s1),
    IFF(s2 IS NULL, '', s2),
    IFF(s3 IS NULL, '', s3)) AS concat_non_null_strings
  FROM concat_function_example;
Copy
+-------------------------+
| CONCAT_NON_NULL_STRINGS |
|-------------------------|
| code                    |
| Colorado River          |
+-------------------------+

함수 대신 || 연결 연산자를 사용합니다.

SELECT 'This ' || 'is ' || 'another ' || 'concatenation ' || 'technique.';
Copy
+--------------------------------------------------------------------+
| 'THIS ' || 'IS ' || 'ANOTHER ' || 'CONCATENATION ' || 'TECHNIQUE.' |
|--------------------------------------------------------------------|
| This is another concatenation technique.                           |
+--------------------------------------------------------------------+