[DB] MySQL 함수정리
2020. 5. 23. 16:59ㆍDataBase/MySQL
반응형
■ 문자열 함수
1. ASCII()
※ 문자를 아스키코드 값으로 변환하여 반환한다.
설명) 문자 a를 아스키코드 값으로 변환하여 97을 반환한다.
SELECT ASCII('a') FROM DUAL;
2. CHAR()
※ 아스키코드 값을 주면 그에 해당하는 문자값을 반환한다.
설명) 아스키코드 97에 해당하는 문자값 'a'를 반환한다.
SELECT CHAR(97) FROM DUAL;
=
SELECT CAST(CHAR(97) AS CHAR(1)) FROM DUAL;
3. LENGTH()
※ 문자열의 길이를 반환한다.
설명) 열이름에 해당하는 모든 데이터의 문자열 길이를 반환한다.
SELECT LENGTH(열이름) FROM 테이블명;
4. INSTR()
※ 찾고자 하는 문자열의 시작위치를 반환한다.
설명) 열이름에 해당하는 모든 데이터의 값 중 찾고자하는 문자열의 위치를 반환한다.
SELECT INSTR(열이름, 찾고자 하는 문자열) FROM 테이블명;
5. LEFT() or MID() or RIGHT()
※ 문자열에서 원하는 위치에서 갯수만큼 문자열를 추출할때 사용
설명) 문자열의 시작위치는 1 이다.
# LEFT()
SELECT LEFT(문자열, 추출갯수) FROM DUAL;
# MID()
SELECT MID(문자열, 시작위치, 추출갯수) FROM DUAL;
# RIGHT()
SELECT RIGHT(문자열, 추출갯수) FROM DUAL;
예시)
# LEFT()
SELECT LEFT('ABCDEFGHIJK',3) FROM DUAL;
# MID()
SELECT MID('ABCDEFGHIJK',3,6) FROM DUAL;
# RIGHT()
SELECT RIGHT('ABCDEFGHIJK',3) FROM DUAL;
RESULT :
ABC
CDEFGH
IJK
6. SUBSTR() or SUBSTRING()
※ 문자열 자르기
빨간색 체크 출력 결과
1) 문자열을 시작위치를 기준으로 끝까지 호출
= SELECT SUBSTR('ABCDEFGHIJKLM',3) FROM DUAL;
= SELECT SUBSTRING('ABCDEFGHIJKLM',3) FROM DUAL;
= SELECT SUBSTR('ABCDEFGHIJKLM' FROM 3) FROM DUAL;
= SELECT SUBSTR('ABCDEFGHIJKLM' FROM 3) FROM DUAL;
2) 문자열을 시작위치에서 원하는갯수만큼 호출
= SELECT SUBSTR('ABCDEFGHIJKLM', 3, 4) FROM DUAL;
= SELECT SUBSTRING('ABCDEFGHIJKLM', 3, 4) FROM DUAL;
= SELECT SUBSTR('ABCDEFGHIJKLM' FROM 3 FOR 4) FROM DUAL;
= SELECT SUBSTR('ABCDEFGHIJKLM' FROM 3 FOR 4) FROM DUAL;
7. LOWER() or UPPER()
※ 문자열을 소문자/대문자로 변환
SELECT LOWER('LOWER') FROM DUAL;
RESULT : lower
SELECT UPPER('upper') FROM DUAL;
RESULT : UPPER
8. LTRIM() or TRIM() or RTRIM()
※ 문자열의 왼쪽/전체[왼쪽 AND 오른쪽]/오른쪽 공백 제거
SELECT LTRIM(' MY SQL ') FROM DUAL;
RESULT : 'MY SQL '
SELECT TRIM(' MY SQL ') FROM DUAL;
RESULT : 'MY SQL'
SELECT RTRIM(' MY SQL ') FROM DUAL;
RESULT : ' MY SQL'
■ 숫자형 함수
1. CEIL()
※ 올림함수
= SELECT CEIL(1.1) FROM DUAL;
= SELECT CEIL(1.5) FROM DUAL;
= SELECT CEIL(1.9) FROM DUAL;
RESULT : 2
2. FLOOR()
※ 소수점 버림 함수
SELECT FLOOR(1.51231) FROM DUAL;
RESULT : 1
3. ROUND()
※ 소수점 위치를 지정하여 반올림 (위치 디폴트 : 0 [정수 부분])
설명)
1) 위치값이 인자가 없을경우 0 으로 지정
2) 소수점 3번쨰 자리에서 반올림
1) SELECT ROUND(1.23254) FROM DUAL;
RESULT : 1
2) SELECT ROUND(1.23254, 3) FROM DUAL;
RESULT : 1.233
4. TRUNCATE()
※ 버릴 자릿수 아래로 버림
빨간색 체크 숫자 버림
1) SELECT TRUNCATE(3451.34567, 0) FROM DUAL;
RESULT : 3451
2) SELECT TRUNCATE(3451.34567, 2) FROM DUAL;
RESULT : 3451.34
3) SELECT TRUNCATE(3451.34567, -2) FROM DUAL;
RESULT : 3400
5. MOD()
※ a 를 b로 나눈 나머지를 반환
SELECT MOD(a, b) FROM DUAL;
예시) SELECT MOD(14, 3) FROM DUAL;
RESULT: 2
6. RAND()
※ 0 부터 1 사이의 난수 반환
SELECT RAND() FROM DUAL;
RESULT : 0 부터 1 사이의 난수 반환(호출시 마다 다른값을 반환)
반응형
'DataBase > MySQL' 카테고리의 다른 글
[DB] MySQL 두 날짜 차이 계산 함수(DATEDIFF() / TIMESTAMPDIFF()) (0) | 2020.05.25 |
---|---|
[DB] MySQL 기본 날짜함수 (0) | 2020.05.23 |
[DB] MySQL 한글 인코딩 설정 (0) | 2020.05.22 |
[DB] MySQL 기본 문법 정리 (0) | 2020.05.22 |
[DB GUI] Oracle SQL Developer에 MySQL연동 (0) | 2020.05.21 |