[MySQL] 문자열 함수 -1-
2024. 8. 22. 23:41ㆍMySQL/SQL 기본
ASCII(아스키코드), CHAR(숫자)
문자의 아스키 코드값을 돌려주거나 숫자의 아스키 코드값에 해당하는 문자를 돌려준다.
SELECT ASCII('A'), CHAR(65);
BLOB 글자를 오른쪽 버튼을 클릭한 뒤에 'Open Value in Viewer'을 선택한다. TEXT 탭에 내용이 있다.
BIT_LENGTH(문자열), CHAR_LENGTH(문자열), LENGTH(문자열)
할당된 Bit 크기 또는 문자 크기를 반환한다. CHAR_LENGTH는 문자의 개수를 반환하며 LENGTH는 할당된 Byte 수를 반환한다.
SELECT BIT_LENGTH('abc'), CHAR_LENGTH('abc'), LENGTH('abc'); //24 3 3
SELECT BIT_LENGTH('가나다'), CHAR_LENGTH('가나다'), LENGTH('가나다'); //72 3 3
영문은 3Byte, 한글은 9Byte를 할당한다.
CONCAT(문자열1, 문자열2, ....) , CONCAT_WS(구분자, 문자열1, 문자열2, ...)
둘 다 문자열을 이어준다. CONCAT_WS는 구분자와 함께 문자열을 이어준다는 차이점이 있다.
SELECT CONCAT_WS('/', '2025', '01', '01');
ELT(위치, 문자열1, 문자열2 ...) : 위치 번째에 해당하는 문자열을 반환한다.
FIELD(찾을 문자열, 문자열1, 문자열2 ...) : 찾을 문자열의 위치를 반환,
매치되는 문자열이 없으면 0을 반환
FIND_IN_SET(찾을 문자열, 문자열 리스트) : 찾을 문자열을 문자열 리스트에서 찾아서 위치를 반환, 문자열 리스트는 콤마로 구분되어 있어야 하고 공백이 없어야 한다.
INSTR(기준 문자열, 부분 문자열) : 기준 문자열에서 부분 문자열을 찾아서 그 시작 위치를 반환한다.
LOCATE(부분문자열, 기준문자열) : INSTR과 동일하지만 파라미터 순서가 반대로 되어 있다.
SELECT ELT(2, '하나', '둘', '셋'), FIELD('둘', '하나', '둘', '셋'), FIND_IN_SET('둘', '하나,둘,셋'), INSTR('하나둘셋', '둘'), LOCATE('둘', '하나둘셋');
LOCATE와 POSITION은 동일한 함수다.
'MySQL > SQL 기본' 카테고리의 다른 글
[MySQL] 문자열 함수 -3- (0) | 2024.09.06 |
---|---|
[MySQL] 문자열 함수 -2- (0) | 2024.08.26 |
[MySQL] 제어흐름함수 (0) | 2024.08.19 |
[MySQL] 암시적인 형 변환 (0) | 2024.08.18 |
[MySQL] 데이터 형식 변환 함수 (0) | 2024.08.13 |