본문 바로가기
SQL

MYSQL 문자열 합치기 / 문자열 자르기 / 문자열 바꾸기

by Shark_상어 2023. 3. 25.
728x90

MySQL 문자열을 합치기 - concant()

 

CONCAT(str1,str2,...)

-- 예제
select concat("abc","111")

-- 예제2
mysql> SELECT CONCAT('My', 'S', 'QL');
        -> 'MySQL'
mysql> SELECT CONCAT('My', NULL, 'QL');
        -> NULL
mysql> SELECT CONCAT(14.3);
        -> '14.3'

 

위의 결과를 보면 NULL 과 STRING을 합치게되면 NULL 이라는 값을 도출하게 된다.

이를 주의해야한다. 

 

MySQL의 문자열 자르기 (Substring)

-- 예제
mysql> SELECT SUBSTRING('Quadratically',5);
        -> 'ratically'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
        -> 'barbar'
mysql> SELECT SUBSTRING('Quadratically',5,6);
        -> 'ratica'
mysql> SELECT SUBSTRING('Sakila', -3);
        -> 'ila'
mysql> SELECT SUBSTRING('Sakila', -5, 3);
        -> 'aki'
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);
        -> 'ki'

 

 

흔히 파이썬을 다뤄보신분 이라면 INDEX를 부분을 하나하나 찾는데 있어서 -1, -2 종종 보실거고 자주 이용 할것이다.

금방 이해 할 것이다.

하지만 파이썬을 주로 다뤄보지 않으시고 다른 언어가 주 이신분들 위해 설명 하고자 한다.

 

-1, -2 이라는 뜻은 뒤쪽에서 부터 -1 시작이다. EX) 'LOSTARK' 라는 용어가 있다고 하자 이때 'K' 는 앞쪽으로는 7 이라는 인덱스 이고

뒤쪽에서 본다면 -1 이라는 인덱스를 갖는다. 'R' 은 -2 이라는 인덱스를 갖는다.

 

혹시 처음 보시는 분  위해 한번 설명해보았습니당.

 

MySQL의 문자열 바꾸기 Replace()

-- 예제
mysql> SELECT REPLACE('www.mysql.com', 'w', 'Ww');
        -> 'WwWwWw.mysql.com'

 

'w' 를 'Ww' 를 바꿔달라는 의미이다.

 

 

프로그래머스 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 이 문제를 풀다가

 

문자열 관련하여 정리 해야 될것 같아 정리하게 되었다.

 

 

참조 [MySQL] String Functions and Operators

https://dev.mysql.com/doc/refman/8.0/en/string-functions.html

 

다음 포스트는 https://school.programmers.co.kr/learn/courses/30/lessons/164671 이 문제를 푸는 방식을 올리겠습니다.

728x90