문자열 위치
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/
'IT 차곡차곡 > MariaDB' 카테고리의 다른 글
[MariaDB] DDL - CREATE, DROP, 제약조건 (0) | 2021.01.23 |
---|---|
[MariaDB] INSERT에서 서브쿼리 사용하기 (0) | 2021.01.22 |
[MariaDB] autocommit 해제하는 방법 (0) | 2021.01.20 |
[MariaDB] 문자열 함수 정리1 (0) | 2021.01.19 |