Server/MariaDB

[MariaDB] 문자열 함수

클리엘 2021. 7. 22. 10:32
728x90

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);

 

728x90