📕🐘 도로락 - 코끼리를 냉장고에 넣는 방법
데이터베이스[DB] | 2018. 3. 20. 01:26

[MySQL] MySQL 문자열 함수 [1]

연관글

[MySQL] MySQL 문자열 함수 [2]

[MySQL] MySQL 문자열 함수 [3]

ASCII(아스키 코드), CHAR(숫자)

문자를 아스키 코드값으로 변환하여 반환하거나, 아스키 코드값을 주면 그에 해당하는 문자를 반환합니다.

SELECT ASCII('a');

예상대로 라면 'a'가 나와야 하지만 워크벤치의 버그로 인해 BLOB으로 나오는 경우가 있습니다.

SELECT CHAR(97);

다음 글을 참고하거나 CAST연산을 해줍니다.

[MySQL] MySQL Workbench CHAR() 함수 사용시 BLOB으로 보이는 문제

명령행으로 실행하거나 실제로는 'a'값이 리턴됩니다.

SELECT CAST(CHAR(97) AS CHAR(1));

CHAR_LENGTH(문자열)

문자의 개수를 반환합니다.

SELECT CHAR_LENGTH('가가가가');

BIT_LENGTH(문자열)

문자열의 비트 크기를 반환합니다.

DB 인코딩 설정이 UTF-8로 되어 있는경우 한글은 한글자에 3byte이므로 1byte = 8bit 로 계산하여 24가 반환됩니다.

SELECT BIT_LENGTH('가');

LENGTH(문자열)

만약 bit단위가 아닌 문자열에 할당된 byte 수를 구하고 싶은 경우 LENGTH()함수를 사용합니다.

SELECT LENGTH('가');

CONCAT(문자열1, 문자열2, ...)

문자열들을 하나로 이어줍니다.

SELECT CONCAT('A', 'B', 'C');

CONCAT_WS(문자열1, 문자열2, ...)

문자열을 구분자와 함께 이어줍니다.

SELECT CONCAT_WS('/', 'A', 'B', 'C');

ELT(위치, 문자열1, 문자열2, ...)

문자열1, 문자열2, ... 의 여러개의 문자열 중 위치 번째에 해당하는 문자열을 반환합니다.

A, B, C 중 세 번째인 C가 반환 됐습니다.

SELECT ELT(3, 'A', 'B', 'C');

FIELD(찾는 문자열, 문자열1, 문자열2, ...)

여러개의 문자열 중 찾는 문자열이 있으면 몇 번째인지 위치를, 없는 경우 0을 반환합니다.

SELECT field('B', 'A', 'B', 'C');
SELECT field('D', 'A', 'B', 'C');

FIND_IN_SET(찾는 문자열, 문자열 리스트)

문자열 리스트(콤마로 구분된 문자열) 중 찾는 문자열의 위치를 찾아 반환합니다.

없는 경우 0을 리턴합니다.

SELECT find_in_set('C', 'A,B,C,D');

INSTR(기준 문자열, 부분 문자열)

기준 문자열에서 부분 문자열을 찾아 시작 위치를 반환합니다.

부분 문자열이 발견되지 않으면 0을 리턴합니다.

SELECT INSTR('김치참치덮밥', '덮밥');

LOCATE(부분 문자열, 기준 문자열)

INSTR와 기능은 동일하고 매개변수의 순서만 다릅니다.

기준 문자열에서 부분 문자열을 찾아 시작 위치를 반환합니다.

부분 문자열이 발견되지 않으면 0을 리턴합니다.

SELECT LOCATE('덮밥', '김치참치덮밥');
도로락

도로락

Writer

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그