MySQL

6. MySQL 문자열 함수

oioioa 2024. 11. 27. 17:57

문자열을 합치는 concat()

-- fname 이 분리되어 있는데,

-- 합쳐서 full_name 으로 가져오고 싶다.

 

-- 문자열을 합치는 함수 : concat()

 

SELECT * , CONCAT(author_fname,author_lname)

FROM books;

 

-- 중간 사이 ,' ', 공백 시 띄어쓰기

SELECT * , CONCAT(author_fname,' ',author_lname)

FROM books;

 

 

SELECT * , CONCAT(author_fname,' ',author_lname) as full_name

FROM books;

 

-- 컬럼 하나로, "책제목 : 풀네임" 형식으로 조회하고 싶다. title_name

-- 예) The Ma,esake : Jhumpa Lahiri

-- Norse Mythology : Neil Gaiman

 

SELECT CONCAT(title,' : ',author_fname,' ',author_lname) as title_name

FROM books;

 

 

문자열의 일부분만 가져오는 함수 substring()

* substr과 동일

-- 책 제목이 너무 긴 책들이 있습니다.

-- 제목을 10글자만 보여주려합니다. 제목컬럼을 short_title 로 해주세요.

-- 문자열 데이터의 일부분만 가져오는 함수 : substring()

 

SELECT SUBSTRING(title,1,10) as short_title -- 첫번째 글자부터 10번째 글자까지 출력

from books;

 

-- 책 제목을, 맨 뒤에서 7번째 글자부터 가져오시오.

 

SELECT SUBSTRING(title,-7) as title -- 맨 뒤에서 7번째 글자까지 출력

from books;

 

 

문자열의 대소문자 처리하는 upper(), lower()

-- 대소문자 처리하는 함수

-- 대문자로 바꾸는 함수 upper()

-- 소문자로 바꾸는 함수 lower()

-- author_fname 을 모두 대문자로 바꿔서 가져오세요.

 

 

SELECT UPPER(author_fname) as author_fname -- 소문자를 대문자로 변경

from books;

 

SELECT LOWER(author_fname) as author_fname -- 대문자를 소문자로 변경

from books;

 

-- 앞 글자 소문자로 변경

SELECT author_fname,

CONCAT(LOWER(SUBSTRING(author_fname,1,1)), UPPER(SUBSTRING(author_fname,2))) AS anthor_fname

FROM books;

 

-- 각 데이터 불러오기 할때 각 컬럼 이름 변경

SELECT title as original_title,author_fname as author,pages,UPPER(title) as title

FROM books;

 

문자열의 내용을 바꾸는 replace()

-- 문자열의 내욜을 바꾸는 함수 : replace()

-- 책 제목에 The 가 있으면, Hello 로 바꾸고 싶다.

 

SELECT title,REPLACE(title,'The','Hello')

FROM books;

 

-- 책 제목에 The가 있으면, 제거하고 가져오세요

SELECT title,REPLACE(title,'The','')

FROM books;

 

문자열의 순서를 역순으로 바꿔주는 reverse()

SELECT author_lname,REVERSE(author_lname)

from books;

 

문자열의 갯수(길이)를 구하는 char_length()

-- 문자열의 길이(글자 수)를 구하는 함수 char_length()

-- 책제목 글자 갯수를 구하세요.

 

SELECT title,char_length(title) as count

from books;