>  기사  >  데이터 베이스  >  mysql의 concat 함수에 대한 간략한 소개와 mysql 필드 앞/뒤에 문자열을 추가하는 샘플 코드

mysql의 concat 함수에 대한 간략한 소개와 mysql 필드 앞/뒤에 문자열을 추가하는 샘플 코드

黄舟
黄舟원래의
2017-03-29 14:05:251368검색

아래 편집기에서는 mysql의 concat 함수에 대해 간략하게 설명하고, mysql은 필드 앞/뒤에 string을 추가합니다. 에디터가 꽤 좋다고 생각해서 지금 공유해서 참고용으로 올려보겠습니다. 편집기를 따라 살펴보겠습니다

MySQL에서 concat 기능을 사용하는 방법:

CONCAT(str1,str2,…)

반환 결과는 연결 매개변수에 의해 생성된 문자열입니다. 매개변수가 NULL인 경우 반환 값은 NULL입니다.

참고:

모든 인수가 이진이 아닌 문자열인 경우 결과는 이진이 아닌 문자열입니다.

자체 변수 에 바이너리 문자열이 포함되어 있으면 결과는 바이너리 문자열입니다.

숫자 매개변수는 동등한 이진 문자열 형식으로 변환됩니다. 이를 방지하려면 명시적인 유형 캐스트를 사용하세요. 예:

SELECT CONCAT(CAST(int_col AS CHAR), char_col)

MySQL의 concat 함수는 하나 이상의 문자열을 연결할 수 있습니다. 예를 들어

mysql> select concat('10');
+--------------+
| concat('10') |
+--------------+
| 10 |
+--------------+
1 row in set (0.00 sec)
mysql> select concat('11','22','33');
+------------------------+
| concat('11','22','33') |
+------------------------+
| 112233 |
+------------------------+
1 row in set (0.00 sec)

MySQL의 concat 함수는 문자열 중 하나가 문자열을 연결하는 것입니다. NULL이면 NULL이 반환됩니다.

mysql> select concat('11','22',null);
+------------------------+
| concat('11','22',null) |
+------------------------+
| NULL |
+------------------------+
1 row in set (0.00 sec)

MySQL의 concat_ws 함수

사용법:

CONCAT_WS(separator,str1,str2,...)

CONCAT_WS()는 CONCAT With Separator의 약자이며 CONCAT()의 특수한 형태입니다. 첫 번째 매개변수는 다른 매개변수에 대한 구분 기호입니다. 구분 기호의 위치는 연결할 두 문자열 사이에 배치됩니다. 구분 기호는 문자열이나 기타 매개변수일 수 있습니다.

참고:

구분 기호가 NULL인 경우 결과는 NULL입니다. 이 함수는 구분 기호 인수 뒤의 NULL 값을 무시합니다.

연결을 쉼표로 구분한 경우

mysql> select concat_ws(',','11','22','33');
+-------------------------------+
| concat_ws(',','11','22','33') |
+-------------------------------+
| 11,22,33 |
+-------------------------------+
1 row in set (0.00 sec)

MySQL의 concat 함수와의 차이점은 concat_ws 함수 실행 시 NULL을 반환하지 않는다는 점이다. NULL 값

mysql> select concat_ws(',','11','22',NULL);
+-------------------------------+
| concat_ws(',','11','22',NULL) |
+-------------------------------+
| 11,22 |
+-------------------------------+
1 row in set (0.00 sec)

MySQL의 group_concat 함수

전체 구문은 다음과 같습니다.

group_concat([DISTINCT] 연결할 필드 [Order BY ASC/DESC 정렬 필드] [구분자 'separator'])

기본 쿼리

mysql> select * from aa;
+------+------+
| id| name |
+------+------+
|1 | 10|
|1 | 20|
|1 | 20|
|2 | 20|
|3 | 200 |
|3 | 500 |
+------+------+
6 rows in set (0.00 sec)

ID로 그룹화, 이름 필드의 값을 쉼표로 구분하여 한 줄에 인쇄(기본값)

mysql> select id,group_concat(name) from aa group by id;
+------+--------------------+
| id| group_concat(name) |
+------+--------------------+
|1 | 10,20,20|
|2 | 20 |
|3 | 200,500|
+------+--------------------+
3 rows in set (0.00 sec)

ID로 그룹화, 이름 필드의 값을 한 줄에 인쇄, 세미콜론으로 구분

mysql> select id,group_concat(name separator ';') from aa group by id;
+------+----------------------------------+
| id| group_concat(name separator ';') |
+------+----------------------------------+
|1 | 10;20;20 |
|2 | 20|
|3 | 200;500 |
+------+----------------------------------+
3 rows in set (0.00 sec)

ID별로 그룹화하고 중복 이름 필드의 값을 한 줄에 인쇄합니다.

쉼표로 구분

mysql> select id,group_concat(distinct name) from aa group by id;
+------+-----------------------------+
| id| group_concat(distinct name) |
+------+-----------------------------+
|1 | 10,20|
|2 | 20 |
|3 | 200,500 |
+------+-----------------------------+
3 rows in set (0.00 sec)

ID별로 그룹화하고 이름 필드의 값을 쉼표로 구분하여 한 줄에 이름별로 역순으로 인쇄합니다.

mysql> select id,group_concat(name order by name desc) from aa group by id;
+------+---------------------------------------+
| id| group_concat(name order by name desc) |
+------+---------------------------------------+
|1 | 20,20,10 |
|2 | 20|
|3 | 500,200|
+------+---------------------------------------+
3 rows in set (0.00 sec)

반복() 함수

문자열을 복사할 때 사용합니다. 'ab'는 복사할 문자열, 2는 복사 매수

mysql> select repeat('ab',2);
+----------------+
| repeat('ab',2) |
+----------------+
| abab |
+----------------+
1 row in set (0.00 sec)
又如mysql> select repeat('a',2);
+---------------+
| repeat('a',2) |
+---------------+
| aa |
+---------------+
1 row in set (0.00 sec)

mysql은 테이블의 필드에 문자열을 추가합니다.

update table_name set field=CONCAT(field,'',str)

mysql은 문자열을 추가합니다

update table_name set field=CONCAT('str',field)

테이블의 필드로 이 기능이 큰 도움이 될 수 있습니다! !

위 내용은 mysql의 concat 함수에 대한 간략한 소개와 mysql 필드 앞/뒤에 문자열을 추가하는 샘플 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.