집 >데이터 베이스 >MySQL 튜토리얼 >mysql 함수 concat 및 group_concat 사용에 대한 지침
사용 방법: concat(str1,str2,…)
반환된 결과는 연결 매개 변수에 의해 생성된 문자열입니다. 매개 변수가 null이면 반환 값은 null
입니다. 참고:
모든 매개변수가 이진이 아닌 문자열인 경우 결과는 이진이 아닌 문자열입니다.
인수에 이진 문자열이 포함된 경우 결과는 이진 문자열입니다.
숫자 매개변수는 다음과 같은 경우 동일한 이진 문자열 형식으로 변환됩니다. 이러한 상황을 피하려면 명시적 유형 캐스팅을 사용할 수 있습니다. 매개변수는 null
select concat(cast(int_col as char), char_col);2.concat_ws() 함수
사용 방법:concat_ws(separator, str1, str2,…)
concat_ws() 함수는 concat() 함수의 특수한 형태입니다. 첫 번째 매개변수 다른 매개변수에 대한 구분 기호입니다. 구분 기호의 위치는 연결할 두 문자열 사이입니다. 구분 기호는 문자열이나 기타 매개변수일 수 있습니다.
함수는 구분 기호 매개변수 뒤의 null 값을 무시하지만 concat_ws()는 빈 문자열을 무시하지 않습니다.
사용 예:
mysql> select concat(',',name,',') from `user`;
+--------------------------+| concat(',',fdipzone,',') |
+--------------------------+| ,fdipzone, |
+--------------------------+1 row in set (0.00 sec)
2. 구분 기호는 null
mysql> select concat(null,name) from `user`; +-------------------+| concat(null,name) | +-------------------+| NULL | +-------------------+1 row in set (0.00 sec)
3입니다. mysql> select concat_ws(',',country_code,phone,region) from `user`;
+------------------------------------------+| concat_ws(',',country_code,phone,region) |
+------------------------------------------+| 86,13794830550,GZ |
+------------------------------------------+1 row in set (0.00 sec)
3.group_concat() 함수
사용법: GROUP_CONCAT([DISTINCT] expr [,expr …]
[SEPARATOR str_val ])
group_concat은 표현식 조합의 연결 값을 가져올 수 있으며, Unique를 사용하여 중복 값을 제외할 수 있습니다. 정렬은 order by 절을 사용하여 수행할 수 있습니다.
사용 예:
mysql> select concat_ws(null,country_code,phone,region) from `user`; +-------------------------------------------+| concat_ws(null,country_code,phone,region) | +-------------------------------------------+| NULL | +-------------------------------------------+1 row in set (0.00 sec)
데이터 삽입: mysql> select concat_ws(',',country_code,phone,null,region,'',grade) from `user`;
+--------------------------------------------------------+| concat_ws(',',country_code,phone,null,region,'',grade) |
+--------------------------------------------------------+| 86,13794830550,GZ,,200 |
+--------------------------------------------------------+1 row in set (0.00 sec)
CREATE TABLE `article_in_category` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `article_id` int(11) unsigned NOT NULL, `category_id` int(11) unsigned NOT NULL, PRIMARY KEY (`id`), KEY `article_id_INDEX` (`article_id`), KEY `category_id_INDEX` (`category_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
기사 ID 및 모든 카테고리 ID 가져오기INSERT INTO `article_in_category` (`id`, `article_id`, `category_id`) VALUES (NULL, '1', '1'),
(NULL, '1', '2'),(NULL, '1', '3'),(NULL, '2', '4'),(NULL, '2', '3'),(NULL, '2', '5'),(NULL, '3', '1'),
(NULL, '3', '5'),(NULL, '3', '6'),(NULL, '4', '8');
참고: group_concat() 함수는 반환된 결과에 길이 제한이 있습니다. , 기본값은 1024바이트
group_concat 반환 값의 최대 길이 보기
mysql> select * from `article_in_category`; +----+------------+-------------+| id | article_id | category_id | +----+------------+-------------+| 1 | 1 | 1 | | 2 | 1 | 2 | | 3 | 1 | 3 | | 4 | 2 | 4 | | 5 | 2 | 3 | | 6 | 2 | 5 | | 7 | 3 | 1 | | 8 | 3 | 5 | | 9 | 3 | 6 || 10 | 4 | 8 | +----+------------+-------------+
group_concat 반환 값의 최대 길이 수정
mysql> select article_id,group_concat(category_id order by category_id asc) from `article_in_category` group by article_id; +------------+----------------------------------------------------+| article_id | group_concat(category_id order by category_id asc) | +------------+----------------------------------------------------+| 1 | 1,2,3 | | 2 | 3,4,5 | | 3 | 1,5,6 || 4 | 8 | +------------+----------------------------------------------------+4 rows in set (0.00 sec)이 문서에서는 mysql 함수 concat 및 group_concat.더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참고하세요.
관련 권장사항: mysql innodb 시작 실패 및 재시작 불가 처리 방법에 대한 설명
PHP에서 지정된 날짜를 얻는 방법에 대한 설명
위 내용은 mysql 함수 concat 및 group_concat 사용에 대한 지침의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!