MySQL에서 쿼리를 작성하거나 프로시저를 사용할때 문자열에 관한 함수들을 많이 사용합니다.
그 중에서도 문자열을 결합하거나, 문자열을 자르는 작업이 많습니다.
문자열에 대해 많이 사용되는 함수들을 간단하게 살펴보겠습니다.
CONCAT
문자열 결합
SELECT CONCAT('Ma', 'ria', 'DB'); -- 'MariaDB'
SUBSTRING
문자열을 지정한 위치에서 잘름
앞에서 6번째 이후 문자열 취득
SELECT SUBSTRING('Knowledgebase' FROM 5); -- 'edgebase'
SELECT SUBSTRING('Knowledgebase',5); -- 'edgebase'
앞에서 3번째 이후 7문자를 취득
SELECT SUBSTRING('Knowledgebase',FROM 3, FOR 7); -- 'wledgeb'
SELECT SUBSTRING('Knowledgebase',3,7); -- 'wledgeb'
SUBSTRING_INDEX
문자열 분할
SELECT SUBSTRING_INDEX('google.co.kr', '.', 1); -- 'google'
SELECT SUBSTRING_INDEX('google.co.kr', '.', 2); -- 'google.co'
SELECT SUBSTRING_INDEX('google.co.kr', '.', 3); -- 'google.co.kr'
SELECT SUBSTRING_INDEX('google.co.kr', '.', -1); -- 'kr'
SELECT SUBSTRING_INDEX('google.co.kr', '.', -2); -- 'co.kr'
SELECT SUBSTRING_INDEX('google.co.kr', '.', -3); -- 'google.co.kr'
RIGHT/LEFT
오른쪽/왼쪽 으로부터 지전한 문자열을 취득
SELECT RIGHT('MariaDB', 2); -- 'DB'
SELECT LEFT('MariaDB', 2); -- 'Ma'
UPPER/LOWER
문자열을 대문자/소문자로 변환
SELECT UPPER('MariaDB'); -- 'MARIADB'
SELECT LOWER('MariaDB'); -- 'mariadb'
TRIM
공백을 제거
SELECT TRIM(' hoge '); -- 'hoge'
LENGTH/CHAR_LENGTH
문자열의 바이트수/문자수를 취득
SELECT LENGTH('MariaDB'); -- 7
SELECT LENGTH('마리아'); -- 6
SELECT CHAR_LENGTH('MariaDB'); -- 7
SELECT CHAR_LENGTH('마리아'); -- 3
CAST
문자열 변환
SELECT CAST('2013-07-02 00:00:00' AS DATE);
LOCATE
검색 문자열 위치를 취득
SELECT LOCATE('bar', 'foobarbar'); -- 4
REPLACE
문자열 치환
SELECT REPLACE('www.mariadb.org', 'w', 'Ww'); -- 'WwWwWw.mariadb.org'
댓글