MySQL 문자열 함수
■ 문자열 함수 사용 방법 및 결과
함수 |
사용법 |
반환 값 |
ASCII() | ASCII(t) | t의 아스키 코드값 리턴 |
CONCAT() |
CONCAT(t1,t2,.....) |
t1t2 형식의 문자열 |
CONCAT_WS() |
CONCAT_WS(S,t1,t2,....) |
t1St2S.. 형식의 문자열 |
LENGTH() |
LENGTH(t) |
문자열 t의 길이 |
CHAR_LENGTH() | CHAR_LENGTH(t) | 문자열 t의 길이 single-byte, multi-byte 미구별 |
CHARACTER_LENGTH() | CHARACTER_LENGTH(t) | |
RIGHT() |
RIGHT(t,x) |
문자열 t의 오른쪽 x개 |
LEFT() |
LEFT(t,y) |
문자열 t의 왼쪽 y개 |
MID() | MID(t,x,y) | 문자열 t의 x위치부터 y개수만큼 출력 |
TRIM() |
TRIM(t) |
문자열 t의 공백제거된 문자열 |
LTRIM() | LTRIM(t) | 문자열 t의 왼쪽 공백 제거 |
RTRIM() | RTRIM(t) | 문자열 t의 오른쪽 공백제거 |
UCASE() | UCASE(t) |
대문자화된 문자열 |
UPPER() |
UPPER(t) |
|
LCASE() | LCASE(t) |
소문자화된 문자열 |
LOWER() |
LOWER(t) |
|
SUBSTRING() |
SUBSTRING(t,x,y) |
문자열 t의 x번째에서 y개의 문자열 |
SUBSTR() | SUBSTR(t,x,y) | |
SUBSTRING_INDEX() | SUBSTRING_INDEX(str, delimiter, n) | 문자열 t에서 n번째 구분자앞까지의 문자열 |
INSERT() | INSERT('문자열','시작위치','길이','새로운문자열') | 문자열의 시작위치부터 길이만큼 새로운 문자열로 대치 |
REPLACE() | REPLACE('문자열','기존문자열','바뀔문자열') | 문자열 중 기존문자열을 바뀔문자열로 대체 |
REPEAT() | REPEAT(t, n) | 문자열 t를 n만큼 반복 |
INSTR() | INSTR(t,x) | t문자열에서 문자열x의 위치 값 |
REVERSE() | REVERSE(t) | 문자열 t를 반대로 출력 |
SPACE() | SPACE(n) | n번 반복된 공백 문자열 출력 |
LPAD() | LPAD(t, len, padstr) | padstr로 t의 왼쪽에 n자리수가 될때까지 붙인다. |
RPAD() | RPAD(t, len, padstr) | padstr로 t의 오른쪽에 n자리수가 될때까지 붙인다. |
STRCMP() | STRCMP(t1, t2) | 동일하면 0 , 정렬순서 빠르면 -1 , 정렬순서 늦으면 1 반환 |
FIND_IN_SET() | FIND_IN_SET (search string, string list) | |
LOCATE() | LOCATE(substr,str) LOCATE (search str, str, [position]) | |
POSITION() | POSITION(substr IN str) | t 문자열에서 substr 의 위치 |
▒ 사용 예
▶ CONCAT(), CONCAT_WS()
※ CONCAT_WS() 는 NULL 값인 컬럼을 무시 한다.
▶ LENGTH(), RIGHT(), LEFT()
▶ LENGTH() 와 CHAR_LENGTH() 비교
- CHAR_LENGTH() 는 single-byte, multi-byte 를 구별하지 않고 문자 숫자 반환
- LENGTH()는 multi-byte인 경우 2배의 숫자 반환
※ 아래 예를 보면 이상하게 LENGTH()의 경우 3배의 길이를 반환 하고 있다.
▶ TRIM(), UPPER(), LOWER()
▶ SUBSTRING(), SUBSTR() 과 SUBSTRING_INDEX() 비교
▶ RPAD 와 LPAD 비교
- LPAD(t, len, padstr) 에서 길이가 원래 문자열보다 작은 len 만큼만 출력된다.
- RPAD(t, len, padstr) 에서 길이가 원래 문자열보다 작은 len 만큼만 출력된다.
▶ STRCMP(expr1, expr2) 는 문자의 동일성과 정렬 순서를 비교 한다.
- expr1 = expr2 동일한 문자열이면 returns 0
- expr1 > expr2 같지 않고 정렬 순서상 빠르면 returns -1
- expr1 < expr2 같지 않고 정렬 순서상 늦으면 returns 1
'MySQL' 카테고리의 다른 글
MySQL 날짜 시간 함수 (0) | 2014.01.25 |
---|---|
MySQL 숫자 함수 (0) | 2014.01.25 |
MySQL 테이블명 대소문자 구분 (0) | 2014.01.24 |
mysql 데이터 디렉터리의 위치 (0) | 2014.01.24 |
mysql 테이블 이름 lower_case_table_names 대소문자 변경 (0) | 2014.01.24 |