본문 바로가기

IT 차곡차곡/MariaDB

[MariaDB] 문자열 함수 정리2

문자열 위치

elt(위치, 문자열1, 문자열2, ...) : 위치번째에 해당하는 문자열 반환

field(찾을 문자열, 문자열1, 문자열2, ...) : 찾을 문자열의 위치를 찾아서 반환, 매치되는 문자열이 없으면 0 반환

find_in_set(찾을 문자열, 문자열 리스트) : 찾을 문자열을 문자열 리스트에서 찾아서 위치 반환. 문자열 리스트는 ,(콤마)로 구분되어야 하며, 공백이 없어야 한다

instr(기준문자열, 찾을문자열) : 기준 문자열에서 부분 문자열을 찾아서 그 시작 위치 반환

locate(찾을문자열, 기준 문자열) : instr() 과 동일하지만 파라미터의 순서 반대 = position(찾을문자열 in 기준문자열)

 

select elt(2,'하나','둘','셋');
결과:둘
select field('둘','하나','둘','셋');
결과:2
select find_in_set('둘', '하나,둘,셋');
결과:2
select instr('하나둘셋넷','둘');
결과:3
select locate('둘','하나둘셋넷');
결과:3
select position('둘' in '하나둘셋넷');
결과:3

문자열 공백제거

ltrim(문자열), rtrim(문자열) : 문자열의 왼쪽/오른쪽 공백 제거

trim(방향 자를문자열 from 문자열) : LEADING(앞) ,BOTH(양쪽), TRAILING(뒤) 방향으로 문자열 자른다

 

SELECT LTRIM('   KOREA   '), RTRIM('   KOREA   ');
결과:KOREA   ,   KOREA,
SELECT TRIM(BOTH '!' FROM '!!KOREA!!');
결과:KOREA

자리수 채우기

insert(기준 문자열, 위치, 길이, 삽입할 문자열) : 기준 문자열의 위치부터 길이만큼 지우고 문자열을 끼워넣는다

lpad(문자열, 길이, 채울 문자열) : 문자열 길이만큼 왼쪽으로 늘린 후에, 빈곳을 문자열로 채운다

rpad(문자열, 길이, 채울 문자열) : 문자열 길이만큼 왼쪽으로 늘린 후에, 빈곳을 문자열로 채운다

 

SELECT INSERT('900102-1025486',8,13,'********');
결과:900102-********
SELECT LPAD('korea',7,'#'), RPAD('KOREA',7,'$');
결과:##korea,KOREA$$

 

기타

repeat(문자열, 횟수) : 문자열을 횟수만큼 반복

replace(문자열, 원래문자열, 바꿀 문자열) : 문자열에서 원래 문자열을 찾아서 바꿀 문자열로 바꿔준다

reverse(문자열) : 문자열의 순서를 거꾸로 만든다

space(길이) : 길이만큼 공백 반환

substring_index(문자열, 구분자, 횟수) : 문자열에서 구분자가 왼쪽부터 횟수 번째 나오면 그 이후의 오른쪽 버린다

 

select repeat('A', 3);
결과:AAA
select replace('이것이 MariaDB다', ,'이것이', 'this is');
결과:this is MariadDB
select reverse('ABC');
결과:CBA
select concat('이것이',space(3),'mariaDB다');
결과:이것이   mariaDB다
select substring_index('www.tistory.com', '.', 2);
결과:www.tistory
select substring_index('www.tistory.com', '.' , -2);
결과:tistory.com

 

그 이외는 MariaDB사이트에서 확인해볼 수 있다.

mariadb.com/kb/en/sql-statements/

 

SQL Statements

 

mariadb.com