MySQL 연결 함수 CONCAT 의 사용 소감
1.concat 함수 와 관련 된 몇 가지 용법
1-1,함수:concat(str1,str2,...)
concat 함 수 는 보통 SELECT 조회 문법 에 사용 되 는데 반환 필드 내용 을 수정 하 는 데 사 용 됩 니 다.예 를 들 어 LOL 영웅 정보 표 는 다음 과 같 습 니 다.
mysql> select * from `LOL`;
+----+---------------+--------------+-------+
| id | hero_title  | hero_name  | price |
+----+---------------+--------------+-------+
| 1 | D       |        | 6300 |
| 2 | X       |        | 6300 |
| 3 | G       |        | 1350 |
| 4 | F       |        | 6300 |
| 5 | Z       |        | 6300 |
| 6 | W       |        |  450 |
| 7 | J       |        |  450 |
+----+---------------+--------------+-------+
7 rows in set (0.00 sec)
SELECT CONCAT(hero_title,' - ',hero_name) as full_name, price from `LOL`;
mysql> SELECT CONCAT(hero_title,' - ',hero_name) as full_name, price from `LOL`;
+------------------------------+-------+
| full_name          | price |
+------------------------------+-------+
| D     -          | 6300 |
| X     -          | 6300 |
| G     -          | 1350 |
| F     -          | 6300 |
| Z     -          | 6300 |
| W     -          |  450 |
| J     -          |  450 |
+------------------------------+-------+
7 rows in set (0.00 sec)
SELECT CONCAT(hero_title,NULL,hero_name) as full_name, price from `LOL`;
mysql> SELECT CONCAT(hero_title,'NULL',hero_name) as full_name, price from `LOL`;
+-------------------------------+-------+
| full_name           | price |
+-------------------------------+-------+
| D    NULL         | 6300 |
| X    NULL         | 6300 |
| G    NULL         | 1350 |
| F    NULL         | 6300 |
| Z    NULL         | 6300 |
| W    NULL         |  450 |
| J    NULL         |  450 |
+-------------------------------+-------+
7 rows in set (0.00 sec) 
 죄 송 하지만 위 에 제 동생 이 쓴 것 입 니 다.정확 한 것 은 다음 과 같 습 니 다.
mysql> SELECT CONCAT(hero_title,NULL,hero_name) as full_name, price from `LOL`;
+-----------+-------+
| full_name | price |
+-----------+-------+
| NULL   | 6300 |
| NULL   | 6300 |
| NULL   | 1350 |
| NULL   | 6300 |
| NULL   | 6300 |
| NULL   |  450 |
| NULL   |  450 |
+-----------+-------+
7 rows in set (0.00 sec)CONCAT_WS()함수 전 칭:CONCAT With Separator 는 CONCAT()의 특수 한 형식 입 니 다.첫 번 째 매개 변수(separator)는 다른 매개 변수의 구분자 입 니 다.구분자 의 위 치 는 연결 할 두 문자열 사이 에 있 습 니 다
           ,          。주의해 야 할 것 은:       NULL,     NULL;            NULL,        ,        NULL。자,우 리 는 여전히 위의 LOL 표 로 각 필드 를 연결 하여 쉼표 로 구분 합 니 다.
select concat_ws(',',hero_title,hero_name,price) as full_name, price from `LOL`;
mysql> select concat_ws(',',hero_title,hero_name,price) as full_name, price from `LOL`;
+---------------------------------+-------+
| full_name            | price |
+---------------------------------+-------+
| D    ,  ,6300       | 6300 |
| X    ,  ,6300       | 6300 |
| G    ,   ,1350      | 1350 |
| F    ,    ,6300     | 6300 |
| Z    ,  ,6300       | 6300 |
| W    , ,450        |  450 |
| J    ,  ,450       |  450 |
+---------------------------------+-------+
7 rows in set (0.00 sec)
select concat_ws(',',hero_title,NULL,hero_name) as full_name, price from `LOL`;
mysql> select concat_ws(',',hero_title,NULL,hero_name) as full_name, price from `LOL`;
+----------------------------+-------+
| full_name         | price |
+----------------------------+-------+
| D    ,         | 6300 |
| X    ,         | 6300 |
| G    ,         | 1350 |
| F    ,         | 6300 |
| Z    ,         | 6300 |
| W    ,         |  450 |
| J    ,         |  450 |
+----------------------------+-------+
7 rows in set (0.00 sec)
select concat_ws(NULL,hero_title,hero_name,price) as full_name, price from `LOL`;
mysql> select concat_ws(NULL,hero_title,hero_name,price) as full_name, price from `LOL`;
+-----------+-------+
| full_name | price |
+-----------+-------+
| NULL   | 6300 |
| NULL   | 6300 |
| NULL   | 1350 |
| NULL   | 6300 |
| NULL   | 6300 |
| NULL   |  450 |
| NULL   |  450 |
+-----------+-------+
7 rows in set (0.00 sec)group_concat([DISTINCT]필드 이름[order by 정렬 필드 ASC/DESC][Separator'구분자'])
group_concat 함 수 는 보통 group by 가 있 는 검색 어,group 에 사 용 됩 니 다.concat 는 일반적으로 검색 결과 필드 에 포 함 됩 니 다.
혹시 groupconcat 함수 공식 이 복잡 해 보이 는데?우리 함께 보 자.위의 공식 에서[]괄호 는 선택 할 수 있 고 사용 할 수 있 는 지 없 는 지 를 나타 낸다.
4.567917.1.4.567914.연결 하 는 매개 변수 에 대해 재 활용 기능 을 지원 합 니 다
[DISTINCT]맞 춤 형 매개 변 수 는 정렬 기능 을 지원 합 니 다 
 또 주제 에서 벗 어 났 다.죄송합니다.
mysql> select * from `LOL`;
+----+---------------+--------------+-------+
| id | hero_title  | hero_name  | price |
+----+---------------+--------------+-------+
| 1 | D       |        | 6300 |
| 2 | X       |        | 6300 |
| 3 | G       |        | 1350 |
| 4 | F       |        | 6300 |
| 5 | Z       |        | 6300 |
| 6 | W       |        |  450 |
| 7 | J       |        |  450 |
+----+---------------+--------------+-------+
7 rows in set (0.00 sec)
select * from `LOL` order by price desc;
mysql> select * from `LOL` order by price desc;
+----+---------------+--------------+-------+
| id | hero_title  | hero_name  | price |
+----+---------------+--------------+-------+
| 1 | D       |        | 6300 |
| 2 | X       |        | 6300 |
| 4 | F       |        | 6300 |
| 5 | Z       |        | 6300 |
| 3 | G       |        | 1350 |
| 6 | W       |        |  450 |
| 7 | J       |        |  450 |
+----+---------------+--------------+-------+
7 rows in set (0.00 sec)
SELECT GROUP_CONCAT(hero_title,' - ',hero_name Separator ',' ) as full_name, price 
 from `LOL` GROUP BY price ORDER BY price desc;주석:여 기 는 제 가 맞 췄 습 니 다(herotitle,' - ‘,hero_name)이 세 개의 매개 변 수 는 구분자 가','로 설정 되 어 있 으 며,가격 에 따라 그룹 을 나 누고,가격 에 따라 배열 되 어 있 습 니 다.효 과 는 다음 과 같다.
mysql> SELECT GROUP_CONCAT(hero_title,' - ',hero_name Separator ',' ) as full_name, price from `LOL` GROUP BY price ORDER BY price desc;
+------------------------------------------------------------------------+-------+
| full_name                               | price |
+------------------------------------------------------------------------+-------+
| D     -   ,X     -   ,F     -     ,Z     -        | 6300 |
| G     -                                | 1350 |
| W     -  ,J     -                         |  450 |
+------------------------------------------------------------------------+-------+
3 rows in set (0.00 sec)
SELECT GROUP_CONCAT(hero_title,' - ',hero_name Separator ',' ) as full_name, price 
  from `LOL` GROUP BY price ORDER BY price asc;
mysql> SELECT GROUP_CONCAT(hero_title,' - ',hero_name Separator ',' ) as full_name, price from `LOL` GROUP BY price ORDER BY price asc;
+-------------------------------------------------------------------------+-------+
| full_name                                | price |
+-------------------------------------------------------------------------+-------+
| W     -  ,J     -                         |  450 |
| G     -                                | 1350 |
| D     -   ,X     -   ,F     -     ,Z     -        | 6300 |
+-------------------------------------------------------------------------+-------+
3 rows in set (0.00 sec)
SELECT GROUP_CONCAT(hero_title,' - ',hero_name order by hero_title Separator ',' ) as full_name, price from `LOL` GROUP BY price ORDER BY price asc;
mysql> SELECT GROUP_CONCAT(hero_title,' - ',hero_name order by hero_title Separator ',' ) as full_name, price from `LOL` GROUP BY price ORDER BY price asc;
+-------------------------------------------------------------------------+-------+
| full_name                                | price |
+-------------------------------------------------------------------------+-------+
| J     -   ,W     -                         |  450 |
| G     -                                | 1350 |
| D     -   ,F     -     ,X     -   ,Z     -        | 6300 |
+-------------------------------------------------------------------------+-------+
3 rows in set (0.00 sec)MySQL 맞 춤 함수 CONCAT 의 사용 소감 을 자세히 알 아 보 는 이 글 은 여기까지 입 니 다.더 많은 MySQL 맞 춤 함수 CONCAT 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Redash를 사용할 때 몰랐던 SQL을 쓰는 법을 배웠습니다.최근 redash에서 sql을 쓸 기회가 많고, 이런 쓰는 방법이 있었는지와 sql에 대해 공부를 다시하고 있기 때문에 배운 것을 여기에 씁니다. Redash란? 월별로 데이터를 표시하고 싶습니다 주별로 데이터를 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.