[MariaDB] 문자열 함수
1. ascii (문자)
문자의 Ascii 코드값을 반환합니다.
select ascii('a');
2. char (숫자)
숫자(아스키코드값)에 해당하는 문자 값을 반환합니다.
select char(97);
3. bit_length (문자열)
주어진 문자열의 크기를 반환합니다.
select bit_length('abc');
4. char_length (문자열)
주어진 문자열의 길이를 반환합니다.
select char_length('abc');
5. length (문자열)
주어진 문자열에 할당된 Byte 수를 반환합니다.
select length('abc');
참고로 영문, 숫자의 경우에는 1byte를 한글의 경우에는 2byte를 할당합니다.
6. concat (문자열1, 문자열 2...)
주어진 문자열을 모두 연결합니다.
select concat('abc', 'def');
7. concat_ws (구분 문자, 문자열 1, 문자열 2...)
주어진 문자열을 구분자를 통해 연결합니다.
select concat_ws('-', '010', 1234, 5678);
8. elt (숫자, 문자열 1, 문자열 2...)
주어진 문자열들 중 '숫자'번째에 해당하는 문자열을 반환합니다. (문자열의 위치는 1부터 시작)
select elt(2, 'abc', 'def', 'ghi');
9. field (대상 문자열, 문자열 1, 문자열 2...)
주어진 문자열들 중 '대상 문자열'에 해당하는 문자열의 위치를 반환합니다. 다만 찾을 수 없으면 0을 반환합니다.
select field('abc', 'abc', 'def', 'ghi');
10. find_in_set (대상 문자열, 문자열)
주어진 문자열에서 '대상 문자열'을 찾아 위치를 반환합니다. '문자열'은 콤마(,)로 구분되며 공백이 없어야 합니다.
select find_in_set('abc', 'abc,def,ghi');
11. instr (문자열, 대상 문자열)
'문자열'에서 '대상 문자열'을 찾아 해당 위치를 반환합니다.
select instr('abcdefghi', 'de');
12. locate (대상 문자열, 문자열)
매개변수의 순서만 다를 뿐 기능이 instr과 동일합니다.
13. format (숫자, 자릿수)
'숫자'에서 소수점 아래 '자릿수'를 표시하며 숫자에서 천 단위 콤마(,)를 추가합니다.
select format(123456.789, 2); -- 123,456.79
14. bin (숫자)
숫자의 2진수 값을 반환합니다.
select bin(100);
15. hex (숫자)
숫자의 16진수 값을 반환합니다.
select hex(100);
16. oct (숫자)
숫자의 8진수 값을 반환합니다.
select oct(100);
17. insert (문자열, 위치, 길이, 대상 문자열)
'문자열'의 '위치'부터 '길이'만큼 삭제하고 그 사이에 '대상 문자열'을 추가합니다.
select insert('abcdefghi', 3, 3, 123); -- ab123fghi
18. left (문자열, 숫자)
'문자열'의 왼쪽부터 '숫자'만큼의 문자열을 반환합니다.
select left('abcdefghi', 2);
19. right (문자열, 숫자)
'문자열'의 오른쪽부터 '숫자'만큼의 문자열을 반환합니다.
select right('abcdefghi', 2);
20. upper (문자열)
'문자열'을 대문자로 변환합니다. (ucase)
select upper('abc');
21. lower (문자열)
'문자열'을 소문자로 변환합니다. (lcase)
select lower('ABC');
22. lpad (문자열, 숫자, 대상 문자열)
'문자열'을 '숫자'만큼 늘린 후 '대상 문자열'을 왼쪽부터 채웁니다.
select lpad('def', 6, 'abc'); -- abcdef
23. rpad (문자열, 숫자, 대상 문자열)
'문자열'을 '숫자'만큼 늘린 후 '대상 문자열'을 오른쪽부터 채웁니다.
select rpad('abc', 6, 'def');
24. trim (문자열), trim (방향 제거 문자열 from 문자열)
'문자열'의 공백을 모두 제거합니다.
select trim(' abc ');
또는 '문자열'에서 '방향'에 해당하는 '제거 문자열'을 제거합니다. 방향은 both (양쪽), leading (앞), trailing (뒤) 등을 설정할 수 있습니다.
select trim(both 'a' from 'aaabbbaaa'); -- bbb
25. repeat (문자열, 숫자)
'문자열'을 '숫자'만큼 반복합니다.
select repeat('aaa', 3);
26. replace (문자열, 검색 문자열, 교체 문자열)
'문자열'에서 '검색 문자열'에 해당하는 문자열을 찾아 '교체 문자열'로 바꿉니다.
select replace('abcdefg', 'de', 'xx');
27. reverse (문자열)
문자열의 순서를 뒤집습니다.
select reverse('abcdefg');
28. space (숫자)
'숫자' 만큼의 공백을 반환합니다.
select space(20);
29. substring (문자열, 숫자 1, 숫자 2), substring (문자열 from 숫자 1 for 숫자 2)
'문자열'에서 '숫자 1'부터 '숫자 2'만큼의 문자열을 반환합니다.
select substring('abcdefg', 2, 2);
30. substring_index (문자열, 검색 문자열, 숫자)
'문자열'에서 '검색 문자열'이 '숫자'번째 나오면 그 이후의 문자열은 삭제합니다. 숫자가 음수로 표시된 경우에는 오른쪽쪽부터 검색 후 왼쪽을 버리게 됩니다.
select substring_index('abcdefg', 'd', 1);