본문 바로가기

MySQL

MySQL 문자열 함수

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