아래 편집기에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!