1. 문자함수
| 함수 | 설명 |
|---|
| ASCII | 문자의 아스키 코드값을 반환 |
| CHAR | 아스키 코드값에 해당하는 문자 반환 |
| BIT_LENGTH, CHAR_LENGTH, LENGTH() | 할당된 Bit 크기,문자의 개수, 할당된 Byte수 |
| CONCAT | 문자열 결합 |
| CONCAT_WS | 구분자와 함께 문자열을 결합할 때 사용 |
BIT_LENGTH, CHAR_LENGTH, LENGTH() 에서 알파벳 , 숫자는 1바이트, 한글은 한들자에 3바이트가 들어간다.
따라서 다음과 같은 결과가 나온다.

1바이트는 8비트로 구성되므로, 문자열의 총 바이트 수에 8을 곱한 값입니다
SELECT ASCII('A');
SELECT CHAR (65);
SELECT BIT_LENGTH('abc'), CHAR_LENGTH('abc'),LENGTH('abd');
SELECT BIT_LENGTH('가나다'), CHAR_LENGTH('가나다'),LENGTH('가나다');
SELECT CONCAT('2020','01','01');
SELECT CONCAT_WS('/','2020','01','01');
| 함수 | 설명 |
|---|
| ELT | 열거된 문자열 중 n번째 문자를 반환한다. |
| FIELD | 문자가 어디에 위치하는지 찾아서 반환한다. 없으면 0을 반환한다. |
| FIND_IN_SET | 찾을 문자열을 문자열 리스트레서 찾아서 반환한다. 문자열 리스트는 콤마(,)로 구분되어야 하며 공백이 없어야한다. |
| INSTR | 기준 문자열에서 부분 문자열을 찾아서 그 시작 위치를 반환한다. |
| LOCATE | INSTR와 동일하지만 파라미터의 순서가 반대로 되어있다. POSITION()과 동일한 함수이다 |
SELECT ELT (2, 'a','b','c');
SELECT FIELD ('b','a','b','c');
SELECT FIND_IN_SET ('c','a,b,c');
SELECT INSTR ('abcdb','b'),
LOCATE ('d','abcd');
| 함수 | 설명 |
|---|
| BIN, OCT, HEX | 2진수, 8진수, 16진수 값을 반환한다. |
| INSERT | 기준 문자열의 위치부터 길이만큼을 삽입할 문자열로 변경한다. |
| LEFT, RIGHT | 왼쪽, 오른쪽으로부터 지정된 길이만큼 반환한다.(공백 포함) |
| LCASE, UCASE | 소문자 변경후 반환, 대문자 변환후 반환한다. |
| LPAD, RPAD | 문자열의 왼쪽 또는 오른쪽에 특정 문자(또는 문자열)를 추가하여 길이를 맞추는 데 사용한다. |
SELECT BIN (31),
OCT(31),
HEX (31);
SELECT INSERT ('가 나 다 라 마',2,3,'@@@'); 가@@@마'
SELECT INSERT ('가 나 다 라 마',INSTR ('가 나 다 라 마','나'),3,'
SELECT LEFT ( '가 나 다 라 마 바 사 ', 3),
RIGHT ('가 나 다 라 마 바 사', 3);
SELECT LCASE ('aBcDe'),UCASE('aBcDe');
SELECT LPAD('123', 8, '0'), RPAD('123',8, '0');
| 함수 | 설명 |
|---|
| LTRIM/RTRIM | 문자열의 왼쪽/오른쪽 공백을 제거한다. |
| TRIM | 문자열 양쪽 공백을 모두 제거한다. 중간의 공백은 제거하지 않는다. |
| TRIM FROM | 앞(LEADING)또는 뒤(TRAILING)또는 양쪽(BOTH)에서 원하는 문자열을 자를 수 있다. |
| REPEAT | 은 문자열을 횟수만큼 반복한다 |
| REPLACE | 문자열에서 원래 문자열을 찾아서 바꿀 문자열로 교체해준다. |
| REVERSE | 문자열을 거꾸로 만든다. |
| SPACE | 길이만큼의 공백을 반환한다. |
| SUBSTRING | 시작 위치부터 길이만큼 문자를 반환한다. |
| SUBSTRING_INDEX | 문자열에서 시작부터 구분자가 n번나오면 그 이후는 버린다. 수가 음수면 오른쪽부터 시작한다. |
SELECT LTRIM (' abc'),
RTRIM('abc '),
TRIM(' a bc ');
SELECT TRIM(BOTH 'a' FROM 'aa『aabbcsaaa'),
REPLACE('aa『aabbc』aa', '『', '');
SELECT repeat ('abc',3);
SELECT REPLACE ('나는 2학년 입니다','2학년','2학기');
SELECT REVERSE ('가 나 다');
SELECT CONCAT ('ab',SPACE(5),'cd');
SELECT SUBSTRING('abcdef',3,2);
SELECT SUBSTRING_INDEX('aa.ss.dd.ff.qq.zz','.',-3);
SELECT SUBSTRING_INDEX('aa.ss.dd.ff.qq.zz','.',3);