단일 행 함수
- 데이터 조작을 위해 사용한다.
- 인자(Argument)를 이용해 작업 수행 후 결과를 반환한다.
- 행 당 하나의 결과를 반환한다.
- SELECT, WHERE, ORDER BY절에 사용할 수 있다.
- 중첩 사용이 가능하다.
단일 행 함수의 종류
- 문자 함수 : 문자를 입력하면 문자 또는 숫자 값을 반환한다.
- 숫자 함수 : 숫자를 입력하면 숫자 값을 반환한다.
- 날짜 함수 : 날짜 유형의 값을 연산한다.
- 변환 함수 : 데이터 유형을 변환한다.
- 기타 함수 : 타입에 상관없이 적용이 가능하다.
문자 함수
- LOWER : 대상 문자열을 모두 소문자로 변경한다.
- UPPER : 대상 문자열을 모두 대문자로 변경한다.
- INITCAP : 문자열 단어의 첫 문자는 대문자로 나머지는 소문자로 변경한다.
- ex) LOWER, UPPER, INITCAP
1
|
SELECT LOWER(ename), UPPER(ename), INITCAP(ename) FROM emp;
|
- CONCAT(s1, s2) : 두 문자열을 연결한다.
- ex) 10번 부서의 사원번호, 이름, 업무, 이름과 업무를 결합해서 조회
1
|
SELECT empno, ename, job, CONCAT(ename, job) FROM emp WHERE deptno=10;
|
- SUBSTR(s, m, n) : 문자열 중 지정한 위치에서 지정한 길이만큼의 문자열을 추출한다.
- LENGTH(s) : 문자의 길이를 숫자 값으로 표시한다.
- CHR(n) : ASCII 코드 값이 n인 문자를 반환한다.
- ASCII(s) : s문자의 ASCII 코드 값을 반환한다.
- LPAD(s1, n, s2) : 문자열을 제외한 왼쪽 공간에 지정한 문자로 채운다.
- RPAD(s1, n, s2) : 문자열을 제외한 오른쪽 공간에 지정한 문자로 채운다.
- ex) 사원 이름이 7자가 되도록 왼쪽과 오른쪽에 *를 붙여 조회
1
|
SELECT ename, LPAD(ename, 7, '*'), RPAD(ename, 7, '*') FROM emp;
|
- LTRIM(s, c) : 대상 문자열의 오른쪽부터 지정한 문자들을 제거한다.
- RTRIM(s, c) : 대상 문자열의 왼쪽부터 지정한 문자들을 제거한다.
- ex) 사원 이름의 왼쪽과 오른쪽에 A 문자열을 제거하고 조회
1
|
SELECT ename, LTRIM(ename, 'A'), RTRIM(ename, 'A') FROM emp;
|
- TRIM : 앞, 뒤에 나오는 특정 문자를 제거한다.
- ex) 사원 이름의 양쪽에 A 문자열을 제거하고 조회
1
|
SELECT ename, TRIM('A' from ename) FROM emp;
|
- TRANSLATE(s, from, to) : 첫 문자는 탐색집합의 첫 문자로 대체한다.
- ex) 사원 이름에 CO 문자열을 **로 변경해서 조회(C와 O 각각 *로 변경)
1
|
SELECT ename, TRANSLATE(ename, 'CO', '**') FROM emp;
|
- REPLACE(s, p, r) : 특정문자열을 다른 문자열로 대체한다.
- ex) 사원 이름에 CO 문자열을 **로 변경해서 조회
1
|
SELECT ename, REPLACE(ename, 'CO', '**') FROM emp;
|
숫자 함수
- ROUND : 지정된 자리로 반올림을 수행한다.
- TRUNC : 지정된 자리에서 버림을 수행한다.
- MOD(M, N) : M을 N으로 나눈 나머지
- ABS : 숫자 값을 절대값으로 바꾼다.
- FLOOR : 해당 수보다 작거나 같은 정수 중 가장 큰 정수 값을 리턴한다.
- CEIL : 해당 수보다 크거나 같은 정수 중 가장 작은 정수 값을 리턴한다.
- SIGN : 숫자가 양수이면 1, 음수이면 -1, 0이면 0을 반환한다.
- POWER(M, N) : M의 N승
오늘의 한 줄 : 내가 모르는 함수들이 너무 많다.
출처 : SK 동반성장 아카데미, 비전공자를 위한 SQL 입문, 「문자 · 숫자 함수」
'공부 > SQL' 카테고리의 다른 글
[SQL] 변환 함수 (0) | 2019.12.03 |
---|---|
[SQL] 날짜 연산 및 날짜 함수 (0) | 2019.12.03 |
[SQL] 복합조건 지정 및 데이터 정렬 (0) | 2019.12.02 |
[SQL] 컬럼(Column) 및 로우(Row)의 선택 (0) | 2019.12.02 |
[SQL] 오라클 데이터베이스 설치 및 환경 설정 (0) | 2019.12.02 |