MySQL 자주 사용하는 문자열 함수

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'

댓글