CONCAT_WS
- 붙히는 문자열 사이에 구분자를 추가
- CONCAT_WS(구분자, str1, str2, ...)
SELECT CONCAT_WS('/', 'one', 'two', 'three')
=> one/two/three
ELT
- N번 째 문자열을 반환
- ELT(N, str1, str2, ...)
- 만약 N이 음수거나 문자열의 갯수보다 크면 NULL을 반환
SELECT ELT(2, 'ab', 'cd', 'ef') => 'cd'
SELECT ELT(-1, 'ab', 'cd', 'ef') => NULL
SELECT ELT(5, 'ab', 'cd', 'ef') => NULL
FIELD
- 찾고자하는 문자열의 인덱스를 반환
- FIELD(str, str1, str2, str3,...)
- 못 찾으면 0 반환
SELECT FIELD('abc', '가나다', 'abc', 'あいう') => 2
SELECT FIELD('XXX', '가나다', 'abc', 'あいう') => 0
FORMAT
- 숫자를 '#,###,###.##' 이런 형식으로 포맷팅
- FORMAT(X, D, [locale])
- D는 반올림할 자릿수
- local 기본 값은 'en_US'
SELECT FORMAT(12332.98765, 3) => 12,332.988
SELECT FORMAT(12332.98765, 0) => 12,333
SELECT FORMAT(12332.98765, -2) => 12,333
SELECT FORMAT(12332.98765, 3, 'ko_KR') => 12,332.988
INSERT
- 문자열에 새로운 문자열을 삽입
- INSERT(str, pos, len, newstr)
- str: 대상문자열
- pos: 시작 인덱스
- len: 시작 인덱스부터 몇 개를 바꿀 것인지
- newstr: 삽입하려는 문자열
SELECT INSERT('123456789', 3, 2, 'xx') => '12xx56789'
SELECT INSERT('123456789', 3, 100, 'xx') => '12xx'
SELECT INSERT('123456789', 10, 2, 'xx') => '123456789'
INSTR
- 특정 데이터의 위치 리턴
- 대소문자 구분을 안함
SELECT INSTR('aBc', 'b'); => 2
SELECT INSTR(12345, 3); => 3
LEFT
- 문자열 왼쪽 부터 지정 갯수를 반환
- LEFT(str, len)
- str: 대상 문자열
- len: 지정 갯수
SELECT LEFT('abcde', 3) => 'abc'
LENGTH
SELECT LENGTH('abc') => 3
SELECT LENGTH(123) => 3
LOCATE
- 대상 문자열에 지정 문자열의 시작 인덱스를 리턴
- LOCATE(substr, str, [pos])
- substr: 대상 문자열
- str: 지정 문자열
- pos: 찾기 시작하는 인덱스
SELECT LOCATE('xx', 'abcXXabcXX') => 4
SELECT LOCATE('xx', 'abcXXabcXX', 7) => 9
SELECT LOCATE('xx', 'abcXXabcXX', 10) => 0
LOWER / UPPER
- 입력된 문자를 소문자 / 대문자로 변경시키는 함수
SELECT LOWER('aBc') => 'abc'
SELECT UPPER('aBc') => 'ABC'
LPAD / RPAD
- LPAD / RPAD(칼럼명, 기준 자릿수, 채워 넣을 숫자 or 문자)
SELECT LPAD('ABC', 5, 'X') => 'XXABC'
SELECT RPAD('ABC', 5, 'X') => 'ABCXX'
SELECT LPAD(123, 5, 0) => 00123
SELECT LPAD(123, 5, 0) > 100 => 1(true)
REPLACE
- 특정 문자열을 찾아서 다른 문자열로 치환
- REPLACE('문자열', '찾을 문자', '치환할 문자')
- 대소문자 구별
SELECT REPLACE('aBc', 'B', 'b') => abc
SELECT REPLACE('aBc', 'A', 'X') => aBc
REVERSE
SELECT REVERSE('abc') => 'cba'
RIGHT
- 문자열 오른쪽 부터 지정 갯수를 반환
- RIGHT(str, len)
- str: 대상 문자열
- len: 지정 갯수
SELECT RIGHT('abcde', 3) => 'cde'
SUBSTR / MID / SUBSTRING
- 데이터 자르기
- substr(칼럼명, 시작할 문자열의 위치 값, 리턴 시킬 값의 길이)
SELECT SUBSTR('1234567', 2, 3) => '234'
SELECT MID('1234567', 2, 3) => '234'
SELECT SUBSTRING('1234567', 2, 3) => '234'
SELECT SUBSTR(1234567, 2, 3) => 234
TRIM / LTRIM / RTRIM
- TRIM 문자열 양쪽 공백제거
- LTRIM 문자열 왼쪽 공백제거
- RTRIM 문자열 오른쪽 공백제거
SELECT LENGTH(TRIM(' abc ')) => 3
SELECT LENGTH(LTRIM(' abc ')) => 4
SELECT LENGTH(RTRIM(' abc ')) => 4
SPACE
SELECT LENGTH(CONCAT(SPACE(6), 'abc')) => 9