Mysql 문자 숫자함수에 대해 알아보겠습니다.
1. ASCII(아스키값 반환)
함수 사용법 : ASCII(str)
인자값의 첫번째 문자을 아스키 값으로 반환해준다.
한글자 이상의 값도 첫번째 문자만 반환되며 빈 문자는 0, NULL은 NULL로 반환된다.
mysql> select ascii('a') c1, ascii('abc') c2, ascii('bcd') c3, ascii(1) c4, ascii(123) c5,
-> ascii('') c6, ascii(null) c7 ;
+----+----+----+----+----+----+------+
| c1 | c2 | c3 | c4 | c5 | c6 | c7 |
+----+----+----+----+----+----+------+
| 97 | 97 | 98 | 49 | 49 | 0 | NULL |
+----+----+----+----+----+----+------+
2. CONCAT (연결된 문자열 반환)
함수 사용법 : CONCAT(str1,str2,str3,...)
인수를 연결하여 얻은 문자열을 반환합니다. 하나 이상의 인수가있을 수 있습니다.
모든 인수가 이진이 아닌 문자열이면 결과는 이진이 아닌 문자열입니다.
인수에 2 진 문자열이 포함 된 경우 결과는 2 진 문자열입니다.
숫자 인수는 동등한 비 이진 문자열 형식으로 변환됩니다.
mysql> select CONCAT('He','l','lo') c1, CONCAT('He',null,'low') c2, CONCAT(12,3) c3,
-> CONCAT(12.3) c4 ;
+-------+------+------+------+
| c1 | c2 | c3 | c4 |
+-------+------+------+------+
| Hello | NULL | 123 | 12.3 |
+-------+------+------+------+
3. LENGTH (문자열 길이 반환)
함수 사용법 : LENGTH(str)
동일한 함수 : OCTET_LENGTH(str)
문자열의 길이를 반환합니다 .
mysql> select LENGTH('abcdef') c1, LENGTH(' abcdef ') c2, OCTET_LENGTH('abcdef') c3,
-> OCTET_LENGTH(' abcdef ') c4;
+----+----+----+----+
| c1 | c2 | c3 | c4 |
+----+----+----+----+
| 6 | 8 | 6 | 8 |
+----+----+----+----+
4. LOCATE (첫번째 문자열 위치 반환)
함수 사용법 : LOCATE(substr, str), LOCATE(substr, str, pos)
동일한 함수 : POSITION(substr IN str), INSTR(str,substr)
첫번째 인자가 있는 두번째 인자의 위치를 반환합니다. 없을경우 0을 반환합니다.
세번째 인자가 있을경우 인자의 자릿수부터 검생하여 두번째 인자의 위치를 반환합니다.
mysql> select LOCATE('bar', 'foobarbar') c1, LOCATE('xbar', 'foobar') c2,
-> LOCATE('bar', 'foobarbar', 5) c3, POSITION('bar' IN 'foobarbar') c4 ;
+----+----+----+----+
| c1 | c2 | c3 | c4 |
+----+----+----+----+
| 4 | 0 | 7 | 4 |
+----+----+----+----+
5. LPAD, RPAD (인자 길이로 문자열 반환 후 남은 공백 채움)
함수 사용법 :
- LPAD(str,len,padstr) : 첫번째 문자를 인자를 두번째 인자의 길이까지 왼쪽으로 채운 문자열을 반환하며 남은 공간은 세번째 인자로 채운다.
- RPAD(str,len,padstr) : LPAD 와 반대로 오른쪽에 빈공간을 채운다.
mysql> select LPAD('hello',10,'?') c1, LPAD('hello',6,'?') c2, RPAD('hello',10,'?') c3,\
-> RPAD('hello',6,'?') c4 ;
+------------+--------+------------+--------+
| c1 | c2 | c3 | c4 |
+------------+--------+------------+--------+
| ?????hello | ?hello | hello????? | hello? |
+------------+--------+------------+--------+
6. LEFT, RIGHT (인자 길이로 문자열 반환)
함수 사용법 :
- LEFT(str,len) : 첫번째 문자를 인자를 두번째 인자의 길이까지 왼쪽부터 문자 반환한다.
- RIGHT(str,len) : 첫번째 문자를 인자를 두번째 인자의 길이까지 오른쪽부터 문자 반환한다.
mysql> SELECT LEFT('foobarbar', 4) c1 ,RIGHT('foobarbar', 4) c2;
+------+------+
| c1 | c2 |
+------+------+
| foob | rbar |
+------+------+
이상 Mysql/MariaDB 문자함수에 대해 설명하였습니다.
'Database > Mysql' 카테고리의 다른 글
Mysql/Mariadb DATE_ADD/ADDDATE/DATE_SUB (날짜/시간 더하기, 빼기 ) (0) | 2020.12.15 |
---|---|
Mysql/Mariadb 문자함수 (SUBSTR,TRIM,REPLACE,REVERSE,LOWER,UPPER) (0) | 2020.12.15 |
Mysql/Mariadb 숫자함수 (POW, MOD, GREATEST, LEAST, INTERVER) (0) | 2020.12.14 |
Mysql/Mariadb 숫자함수 (ABS, CEILING, FLOOR, ROUND, TRUNCATE) (0) | 2020.12.14 |
Mysql / Mariadb에서 쉘명령어 사용하기 (0) | 2020.12.14 |
댓글