DATABASE/MySQL Workbench

MySQL Workbench : 문자열 처리 함수들 replace(), upper(), lower(), reverse(), char_length()

신강희 2024. 5. 14. 15:25
반응형

< 문자열 처리 함수들 replace(), upper(), lower(), reverse(), char_length() >

# 바로 이전장 데이터로 이어서 진행

# 참고 : https://sorktjrrb.tistory.com/105

 

MySQL Workbench : 문자열 처리 함수들 (concat, concat_ws, substring)

# 문자열 처리 함수 학습을 위해 books 라는 새로운 테이블 생성ㄴ 혹시 테이블을 수정하고 싶으면 좌측 목록에서 체크된 아이콘을 누르면 수정 가능! # yhdb 를 사용하였으므로, 해당 db 사용 문구

sorktjrrb.tistory.com

 

# 내용 바꾸기 replace()

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

 

# 대문자 / 소문자 변환 함수 upper() / lower()

-- 대문자 / 소문자 변환 함수 upper() / lower()
-- 이런식으로 title을 소문자로 바꾸면 찾는 단어를 소문자로만 입력하면 전체를 다 찾아내어 바꿔줌
select replace( lower(title), 'the' , 'Hello' ) as title
from books;

 

# 문자열 역순으로 바꾸는 함수 reverse()

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

 

# 문자열 갯수 구하는 함수 char_length()

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

 

# 실습문을 통해 복습 정리해 보자!

-- 실습
-- 1) 책 제목을, 맨 앞부터 10글자 까지만 가져오고, 뒤에는 ... 을 붙여주세요.
select concat(substring(title, 1, 10), '...') as title
from books;

 

-- 2) 타이틀의 공백을 -> 로 바꿔서 나오도록 하시오
select replace(title, ' ', '->' ) title
from books;

 

-- 3) 이미지대로 나오게 하시오 (화면 참조)
select author_lname as forwards, 
	reverse(author_lname) as backwards
from books;

 

-- 4) 이름 합치고 대문자로
select upper( concat(author_fname, ' ' , author_lname)) as 'full name in caps'
from books;

 

-- 5) 타이틀 + 년도 => was released in 이 들어가도록 합쳐서 조회
select concat(title, ' was released in ' , released_year) as blurb
from books;

 

-- 6) 타이틀과, 타이틀에 적힌 글자의 갯수가 나오도록
select title, char_length( title ) as 'character count'
from books;

 

-- 7) 숏타이틀은 앞에서 10글자 까지 뒤에 ...이 나오고, author는 이름 두개 컬럼을 합치고, quantity는 원래 숫자에 in stock이 붙도록
select concat(substring(title, 1, 10), '...') as 'short title',
	concat(author_fname, ',' , author_lname) as author,
    concat(stock_quantity, ' in stock') as quantity
from books;

 

다음 게시글로 계속!

728x90
반응형