데이터 베이스

데이터 베이스(10) 문자열 함수(1)(concat, substring, replace,reverse, char_length, upper,lower)

개발연습자1 2022. 12. 7. 11:27

데이터 베이스에서 문자열 데이터를 다루는 함수는 파이썬 만큼이나 다양하다.

 

1) concat 

데이터의 문자열을 합친다. 합칠때 따옴표로 문자를 넣으면 합칠때 같이 출력된다.

-- 공백이 존재하게 두 컬럼을 합치라는 뜻
-- as 출력한 함수의 이름을 다시 지어 준다.

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

두 이름 컬럼이 합쳐져서 풀네임이 되었다. 공백도 합쳐서 가운데에 공백이 적용되었다.

 

concat_ws를 쓰게 되면 합친 문자열 사이에  따옴표 안에 있는 특정 문자열을 전부 집어넣을수 있다.

-- 특정 문자열 -를 합친 문자열 사이에 전부 넣는다.

select concat_ws('-',author_fname,author_lname,pages) as full_name
from books;

이렇게 된다.

 

2) substring

데이터를 길이를 정한 만큼만 가지고 온다.

-- 문자열의 일부분만 가져오는 함수 substring()
-- 책 제목을 첫글자부터 10번째까지만 가져오기

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

필자가 뒤를 자른게 아니고 출력시 10번째 글자를 넘어가면 출력하지 않는다.

 

3) replace

특정 문자열이 포함되어 있다면 그 문자열을 지정한 문자열로 바꾼다.

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

문자열 데이터중 the가 hello가 되었다.

 

4) reverse

지정한 문자열을 거꾸로 출력한다.

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

select reverse(author_lname)
from books;

지정한 컬럼의 모든 값이 거구로 출력 되었다.

 

5) char_length

문자열의 갯수를 구한다.

-- 문자열의 개수(길이)를 구하는 함수 char_length()
-- 책 제목의 길이를 구하시오
select char_length(title)
from books;

 

문자열 데이터의 갯수를 출력하였다.

 

6)Upper

문자열을 대문자로 바꾼다.

-- 대문자 처리하는 함수 upper()
-- 작가 이름 author_fname을 대문자로 바꾸시오.
select upper(author_fname) as upper_fname
from books;

대문자로 출력된다.

 

7) lower

문자열을 소문자로 출력한다.

-- 소문자 처리하는 함수 lower()
-- 작가 이름 author_fname을 소문자로 바꾸시오.
select lower(author_fname) as lower_fname
from books;

소문자로 출력된다.

반응형