반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Nike
- react
- 주식공부
- jQuery
- Dunk Low
- Github
- 덩크 로우
- 자바스크립트
- oracle
- 덩크 하이
- Python
- 주식
- 오라클
- 덩크로우
- 나이키
- GIT
- stockx.com
- draw
- dunklow
- JavaScript
- Linux
- 파이썬
- 리눅스
- 드로우
- dunk high
- 발매예정
- 제이쿼리
- 리액트
- 코로나19
- sacai
Archives
- Today
- Total
Life goes slowly...
[Mysql] 문자열 합치는 함수 - CONCAT(), CONCAT_WS() 본문
728x90
반응형
Database SQL 조회 시 여러 문자열 또는 여러 컬럼 값을 조회 한 후에 하나의 문자열 또는 하나의 컬럼 값으로 반환해야 할 경우가 있습니다.
Oracle(오라클)에서는 || 를 통하여 쉽고 간단하게 처리가 가능하지만 Mysql에서는 CONCAT(), CONCAT_WS() 함수를 사용해야 합니다.
Mysql의 CONCAT() 함수
Mysql의 CONCAT() 함수는 둘 이상의 문자열이나 둘 이상의 컬럼값을 순서대로 합쳐서 반환해 주는 함수입니다.
하지만 조회하거나 합쳐지는 문자열이나 컬럼값이 NULL이 포함되면 반환되는 값도 NULL로 반환하게 됩니다.
엑셀의 CONCAT 함수와 같은 기능을 가진 함수입니다.
SELECT CONCAT(문자열1, 문자열2 [, 문자열3 ...]) FROM [조회 테이블명]
SELECT CONCAT('HA','BBB',' ','FOR','CD') FROM DUAL;
SELECT CONCAT('999','.','111') FROM DUAL;
SELECT CONCAT('HA','BBB',NULL,'FOR','CD') FROM DUAL;
#HABBB FORCD
#999.111
#NULL
Mysql의 CONCAT_WS() 함수
Mysql의 CONCAT_WS() 함수는 둘 이상의 문자열이나 둘 이상의 컬럼 값을 반복되는 구분자를 넣고 순서대로 합쳐서 반환해 주는 함수입니다.
CONCAT_WS() 함수는 둘 이상의 문자열이 있는 경우에 문자열 사이에 설정 구분자를 넣어야 합니다.
Mysql의 CONCAT()와는 다르게 합쳐지는 문자열에 Null을 포함하여도 Null로 반환하지 않습니다.
PHP에서 implode 와 같은 함수입니다.
SELECT CONCAT_WS(구분자, 문자열1 [, 문자열2, 문자열3 ...]) FROM [조회할 테이블명]
SELECT CONCAT_WS(',','HE','LLO','WOR','LD') FROM DUAL;
SELECT CONCAT_WS(',','HE','LLO',NULL,'WOR','LD') FROM DUAL;
SELECT CONCAT_WS(',','111','222','333') FROM DUAL;
#HE,LLO,WOR,LD
#HE,LLO,WOR,LD
#111,222,333
Mysql의 GROUP_CONCAT() 함수
Mysql의 GROUP_CONCAT() 함수는 Group By로 된 레코드들을 원하는 구분자를 이용하여 하나의 문자열로 합쳐서 반환해 주는 함수입니다.
Java와 같은 프로그래밍에서는 For 문을 사용하여 문자열을 붙여도 되긴 하겠지만 DB에서 조회 시에 쉽게 결괏값을 합쳐져 있는 Data를 받을 때 사용하는 함수입니다.
GROUP_CONCAT([DISTINCT] expression [ORDER BY {column | unsigned_int} [ASC | DESC]] [SEPARATOR 구분자])
SEPARATOR -- 결과 값 사이에 구분할 구분자를 지정한다. 생략하면 기본값인 쉼표(,)를 구분자로 사용한다.
expression -- 수치 또는 문자열을 반환하는 칼럼 또는 연산식
728x90
반응형
'프로그래밍 > MySQL' 카테고리의 다른 글
[Mysql] Mysql의 별칭 - Alias (0) | 2020.09.29 |
---|---|
[Mysql] 테이블 구조 - 계층형Query (0) | 2020.09.24 |
[Mysql] 문자열 치환하기 - REPLACE() 함수 (0) | 2020.09.23 |
[Mysql] 시간 더하기, 빼기 함수 - DATE_ADD(), DATE_SUB() (0) | 2020.09.15 |
[Mysql] 공백, 문자 제거 함수 - TRIM(),LTRIM(),RTRIM() (0) | 2020.09.14 |
[Mysql] 문자열 자르기 함수 - SUBSTRING(),LEFT(),RIGHT() (0) | 2020.09.11 |
[Mysql] Mysql 동시에 Insert와 Update - Upsert() 함수 (0) | 2020.09.09 |
[Mysql] Mysql 조건문 - IF 문, CASE 문 (0) | 2020.09.07 |
Comments