다양한 함수를 통해 문자열을 원하는 대로 가공할 수 있다.
- SUBSTR / SUBSTRING
-- SUBSTR
SELECT month, substr(month, 1, 3) AS Mon
FROM kakao
GROUP BY Mon;
-- SUBSTRING
SELECT month, substring(month, 1, 3) AS Mon
FROM kakao
GROUP BY Mon;
SUBSTR 함수로 문자열의 원하는 부분만 출력할 수 있다. SUBSTR(출력할 열, 시작, 끝)의 형식으로 작성한다. 월을 영어로 기재할 때, 앞의 3글자만 작성하는 경우도 많으므로 month 열(Column)에서 첫 번째부터 세 번째 글자만 출력했다.
SUBSTR / SUBSTING 모두 가능하다! 양쪽 결과 모두 동일하게 출력되었다.
- LOWER / UPPER
-- 소문자
SELECT month, LOWER(month) as 'lower'
FROM kakao
GROUP BY month;
-- 대문자
SELECT month, UPPER(month) as 'UPPER'
FROM kakao
GROUP BY month;
LOWER는 소문자, UPPER는 대문자를 만드는 함수이다. month 열의 문자가 왼쪽에는 전부 소문자로 출력되었고, 오른쪽에는 모두 대문자로 출력된 것을 확인할 수 있다.
- LENGTH
SELECT month, LENGTH(month) as 'Length'
FROM kakao
GROUP BY month;
LENGTH는 문자의 길이를 세는 함수이다. 각 month의 길이를 구했더니 위와 같이 산출되었다.
- LPAD / RPAD
-- 왼쪽 채우기
SELECT month, LPAD(month, 10, '*') as 'POINT'
FROM kakao
GROUP BY month;
-- 오른쪽 채우기
SELECT month, RPAD(month, 10, '*') as 'POINT'
FROM kakao
GROUP BY month;
LPAD는 전체 글자 수 중 부족한 글자 수를 왼쪽에 추가하여 채운다는 의미이다. 쿼리와 같이 LPAD(열, 전체 글자 수, 채우려는 값)으로 작성하면 총 10자리의 글자 중 글자 수가 부족한 부분을 *으로 채운다.
RPAD는 LPAD와 반대로 자릿수에서 부족한 수만큼 오른쪽에서부터 채운다.
- TRIM
TRIM함수는 공백을 제거하는 함수이다. 이를 실습해 보기 위해 kako 데이터 month 열(Column)에 좌우 양쪽에 스페이스바로 공백을 만들었다.
SELECT TRIM(month_trim) AS TRIM, month
FROM kakao_trim
GROUP BY month;
TRIM은 전체 공백을 제거하는 함수로 RAW DATA에서 있던 공백이 모두 삭제되어 출력되었다.
-- 왼쪽 공백 제거
SELECT LTRIM(month_trim) AS LTRIM, month
FROM kakao_trim
GROUP BY month;
-- 오른쪽 공백 제거
SELECT RTRIM(month_trim) AS RTRIM, month
FROM kakao_trim
GROUP BY month;
LTRIM은 왼쪽 공백을 제거하는 함수이고, RTRIM은 오른쪽 공백을 제거하는 함수이다. 결과 값을 보면 미세하게 보이지만, 왼쪽 결과는 왼쪽에 공백 없이 붙어있고, 오른쪽 결과는 오른쪽 공백이 삭제되어 칸이 약간 더 작은 것을 확인할 수 있다.
- CONCAT
SELECT month, date,
CONCAT(month, SUBSTR(date, -2, 2))
FROM kakao;
CONCAT은 문자를 붙여주는 함수이다. CONCAT(붙일 값 1, 붙일 값 2,...)의 형태이며, month와 date 열(Column)의 일을 붙여서 새로운 열을 생성했다.
문자열 가공에 대해 더 많은 내용을 적용해 보고 싶다면, 아래 MySQL Manual에서 확인할 수 있다.
MySQL :: MySQL 8.0 Reference Manual :: 12.8 String Functions and Operators
MySQL :: MySQL 8.0 Reference Manual :: 12.8 String Functions and Operators
12.8 String Functions and Operators Table 12.12 String Functions and Operators Name Description ASCII() Return numeric value of left-most character BIN() Return a string containing binary representation of a number BIT_LENGTH() Return length of argument
dev.mysql.com
'Database > MySQL' 카테고리의 다른 글
[Programming][MySQL] 다양한 JOIN 함수 (feat. KOSPI50 종목) (0) | 2021.07.27 |
---|---|
[Programming][MySQL] JOIN 활용하기(feat. KOSPI50 종목) (0) | 2021.07.27 |
[Programming][MySQL] IF/ CASE 조건 함수(Feat. 카카오 주가 데이터) (0) | 2021.07.26 |
[Programming][MySQL] NULL 값 다루기(Feat. 카카오 주가 데이터) (0) | 2021.07.25 |
[Programming][MySQL] 연산을 할 수 있는 다양한 함수(Feat. 카카오 주가 데이터) (0) | 2021.07.25 |
댓글