MySQL

[MySQL] 문자열 컬럼 데이터 가공 함수 concat(), substring(), replace(), reverse(), char_length(), upper(), lower()

건휘맨 2024. 5. 13. 17:56

concat(): 문자열을 합친다.

select *, concat(author_fname,' ',author_lname) full_name
from books;

-- 이름 두 개를 붙혀서, full_name 을 만들고,
-- 책 제목과 출간년도를 같이 보여주시오.

select concat(author_fname,' ', author_lname) full_name, 
		title,
        released_year
from books;

 

concat_ws(): 구분자로 문자열을 합친다. (여러 문자열 컬럼을 합칠때 그 사이를 첫번째 입력한 파라미터로 합친다.)

-- concat_ws() 함수를 사용하는 방법 : 첫번째 파라미터가 문자열 붙일 때 사용할 문자열
select title, pages, concat_ws(' ', author_fname, author_lname) full_name
from books;

 

substring(): 문자열을 잘라 일부분만 가져온다.

-- 문자열의 일부분만 가져오는 함수 substring()
-- 책 제목을 첫글자부터 10번째 글자까지만 가져오시오.
-- substring 함수의 시작 위치는 1부터다!

select substring(title, 1, 10) title
from books;

-- 제목을, 맨 뒤에서 5번째 글자부터 끝까지 다 나오도록 데이터를 가져오시오.
select substring(title, -5) title
from books;

-- 제목을, 앞에서 3번째 글자부터 끝까지 다 나오도록 데이터를 가져오시오.
select substring(title, 3) title
from books;

 

replace(): 문자열의 내용을 바꾼다.

-- 문자열의 내용을 바꾸는 함수. replace()
-- 책 제목에 The 가 있으면, Hello 로 바꾸고 싶다.
select replace(title, 'The', 'Hello') title
from books;

 

reverse(): 문자열을 거꾸로 뒤집는다. (역순)

-- 문자열의 순서를 역순으로 바꾸는 함수 reverse()
-- author_lname 을 역순으로 가져오시오.
select reverse(author_lname)reverse_lname
from books;

 

char_length(): 문자열의 갯수(길이)를 구한다.

-- 문자열의 갯수를 구하는 함수 char_length()
-- 책 제목의 글자 갯수를 구하세요.
select title, char_length(title) len_title
from books;

 

upper(): 문자열을 대문자로 변환한다.
lower(): 문자열을 소문자로 변환한다.

-- 대문자 / 소문자 변환함수 upper(), lower()
select replace(lower(title), 'the', 'Hello') title
from books;