
우선 MySQL에서는 문자를 1부터 센다. 조금 더 자세한 문자열 관련 함수에 관해서 알아보자.
모두 대문자, 소문자로 변경하기
UCASE(), UPPER()을 통해서 모두 대문자로 변경할 수 있고 LCASE(), LOWER()를 통해서 모두 소문자로 변경할 수 있다.
SELECT
UCASE(CustomerName),
LCASE(ContactName)
FROM Customers;
문자열 합치기
일반적인 프로그래밍 언어에서는 +를 이용해서 문자열의 합칠 수 있지만, MySQL에서는 CONCAT()함수를 이용하여 문자열을 합친다.
SELECT CONCAT('HELLO', ' ', 'THIS IS ', 2021);
CONCAT을 이용하여 데이터에 문자열을 추가로 더 붙여서 표현할 수도 있다.
SELECT CONCAT('O-ID: ', OrderID) FROM Orders;

CONCAT_WS(S, {문자1},{문자2})은 여러문자들을 S를 이용해서 연결해준다.
SELECT
CONCAT_WS(' ', FirstName, LastName) AS FullName
FROM Employees;
문자열 자르기
LEFT({문자열},N)은 왼쪽부터 N글자를 자른다.RIGHT({문자열},N)은 오른쪽부터 N글자를 자른다.SUBSTR({문자열},N)은 주어진 값에 따라 문자열을 자른다. SUBSTRING으로 이용해도 된다.
SELECT
SUBSTR('ABCDEFG', 3), --앞의 세번째부터 읽어온다.
SUBSTR('ABCDEFG', 3, 2), --세번째 글자부터 2개를 읽어온다.
SUBSTR('ABCDEFG', -4), --뒤에서 4번째 글자부터 읽어온다.
SUBSTR('ABCDEFG', -4, 2); --뒤에서 4번째 글자부터 2개를 읽어온다.
년도로 된 열을 분리할 떄, 이용할 수 있다.
SELECT
OrderDate,
LEFT(OrderDate, 4) AS Year,
SUBSTR(OrderDate, 6, 2) AS Month,
RIGHT(OrderDate, 2) AS Day
FROM Orders;
문자열의 길이 세기
CHAR_LENGTH(), CHARACTER_LEGNTH()을 이용해 문자열의 계산한다. LENGTH()를 이용시 문자열의 바이트 길이가 출력된다.
SELECT
LENGTH('ABCDE'),
CHAR_LENGTH('ABCDE'),
CHARACTER_LENGTH('ABCDE');
문자열의 공백 제거하기
TRIM()은 양쪽 공백을 제거한다.LTRIM()은 왼쪽 공백을 제거하고 RTRIM()은 오른쪽 공백을 제거한다.
SELECT * FROM Categories
WHERE CategoryName = TRIM(' Beverages ')
문자열 글자 이어 붙이기
LPAD(S, N, P)는 S가 N글자가 될 때까지 P를 이어붙인다. RPAD(S, N, P)는 S가 N글자가 될 때까지 P를 이어붙인다. LPAD는 ABC-- RPAD는 --ABC과 같이 나타난다.
SELECT
LPAD(SupplierID, 5, 0),
RPAD(Price, 6, 0)
FROM Products;
문자열 변경하기
REPLACE(S, A, B)를 활용하여 S문자열에서 A를 B로 변경할 수 있다.
SELECT
REPLACE(Description, ', ', ' and ')
FROM Categories;
문자열 반환하기
INSTR({문자열}, s)를 이용해서 문자열중 해당하는 s의 첫 위치 반환한다. 없을 경우 0을 반환하게 된다.
SELECT * FROM Customers
WHERE INSTR(CustomerName, ' ') BETWEEN 1 AND 6;
'Database > MySQL' 카테고리의 다른 글
MySQL 조건에 따라 그룹 묶기 (0) | 2021.11.29 |
---|---|
MySQL 시간/날짜 관련 함수 알아보기 (0) | 2021.11.29 |
MySQL 연산자 알아보기 (0) | 2021.11.29 |
MySQL Select 기능 알아보기 (0) | 2021.11.29 |
MySQL 알아보기 (0) | 2021.11.29 |