연관글
ASCII(아스키 코드), CHAR(숫자)
문자를 아스키 코드값으로 변환하여 반환하거나, 아스키 코드값을 주면 그에 해당하는 문자를 반환합니다.
1 |
SELECT ASCII('a'); |
cs |
예상대로 라면 'a'가 나와야 하지만 워크벤치의 버그로 인해 BLOB으로 나오는 경우가 있습니다.
1 |
SELECT CHAR(97); |
cs |
다음 글을 참고하거나 CAST연산을 해줍니다.
명령행으로 실행하거나 실제로는 'a'값이 리턴됩니다.
1 |
SELECT CAST(CHAR(97) AS CHAR(1)); |
cs |
CHAR_LENGTH(문자열)
문자의 개수를 반환합니다.
1 |
SELECT CHAR_LENGTH('가가가가'); |
cs |
BIT_LENGTH(문자열)
문자열의 비트 크기를 반환합니다.
DB 인코딩 설정이 UTF-8로 되어 있는경우 한글은 한글자에 3byte이므로 1byte = 8bit 로 계산하여 24가 반환됩니다.
1 |
SELECT BIT_LENGTH('가'); |
cs |
LENGTH(문자열)
만약 bit단위가 아닌 문자열에 할당된 byte 수를 구하고 싶은 경우 LENGTH()함수를 사용합니다.
1 |
SELECT LENGTH('가'); |
cs |
CONCAT(문자열1, 문자열2, ...)
문자열들을 하나로 이어줍니다.
1 |
SELECT CONCAT('A', 'B', 'C'); |
cs |
CONCAT_WS(문자열1, 문자열2, ...)
문자열을 구분자와 함께 이어줍니다.
1 |
SELECT CONCAT_WS('/', 'A', 'B', 'C'); |
cs |
ELT(위치, 문자열1, 문자열2, ...)
문자열1, 문자열2, ... 의 여러개의 문자열 중 위치 번째에 해당하는 문자열을 반환합니다.
A, B, C 중 세 번째인 C가 반환 됐습니다.
1 |
SELECT ELT(3, 'A', 'B', 'C'); |
cs |
FIELD(찾는 문자열, 문자열1, 문자열2, ...)
여러개의 문자열 중 찾는 문자열이 있으면 몇 번째인지 위치를, 없는 경우 0을 반환합니다.
1 |
SELECT field('B', 'A', 'B', 'C'); |
cs |
1 |
SELECT field('D', 'A', 'B', 'C'); |
cs |
FIND_IN_SET(찾는 문자열, 문자열 리스트)
문자열 리스트(콤마로 구분된 문자열) 중 찾는 문자열의 위치를 찾아 반환합니다.
없는 경우 0을 리턴합니다.
1 |
SELECT find_in_set('C', 'A,B,C,D'); |
cs |
INSTR(기준 문자열, 부분 문자열)
기준 문자열에서 부분 문자열을 찾아 시작 위치를 반환합니다.
부분 문자열이 발견되지 않으면 0을 리턴합니다.
1 |
SELECT INSTR('김치참치덮밥', '덮밥'); |
cs |
LOCATE(부분 문자열, 기준 문자열)
INSTR와 기능은 동일하고 매개변수의 순서만 다릅니다.
기준 문자열에서 부분 문자열을 찾아 시작 위치를 반환합니다.
부분 문자열이 발견되지 않으면 0을 리턴합니다.
1 |
SELECT LOCATE('덮밥', '김치참치덮밥'); |
cs |
'데이터베이스[DB]' 카테고리의 다른 글
[MySQL] MySQL 문자열 함수 [3] (0) | 2018.03.20 |
---|---|
[MySQL] MySQL 문자열 함수 [2] (0) | 2018.03.20 |
[MySQL] MySQL Workbench CHAR() 함수 사용시 BLOB으로 보이는 문제 (0) | 2018.03.19 |
[MySQL] MySQL 제어 흐름 함수 (0) | 2018.03.19 |
[ORACLE] 오라클 XDB 8080 포트 변경하는 방법 (0) | 2018.02.17 |